ClimateTasks.jl
This package is at a very early stage of development. Stay tuned ...
ClimateTasks.MITgcm
ClimateTasks.StartWorkers
ClimateTasks.TaskDriver
ClimateTasks.task1_loop
ClimateTasks.task1_loop
ClimateTasks.MITgcm
— FunctionMITgcm(p::String)
Run MITgcm; download it if needed.
ClimateTasks.StartWorkers
— MethodStartWorkers(nwrkrs::Int)
Start workers if needed.
ClimateTasks.TaskDriver
— MethodTaskDriver(indx,fn)
Broacast / distribute task (fn; e.g. task1_loop) over indices (indx; e.g. file indices)
Examples:
using ClimateTasks, Distributed, SparseArrays
TaskDriver(1,task1_loop)
StartWorkers(4)
@everywhere using ClimateTasks, SparseArrays
TaskDriver(1:4,task1_loop)
Visualize results:
using FortranFiles, Plots
k=1
recl=720*360*4
fil="diags_interp/ETAN/ETAN.0000000732.data"
f = FortranFile(fil,"r",access="direct",recl=recl,convert="big-endian")
tmp=read(f,rec=k,(Float32,(720,360))); close(f)
heatmap(tmp)
ClimateTasks.task1_loop
— Methodtask1_loop(indx,M)
Loop over a subset of model output files (filList[indx]
), apply MatrixInterp
(M
) as a postprocessing step, and write the result to file (one subfolder for each variable)
ClimateTasks.task1_loop
— Methodtask1_loop(indx::Int)
Interpolate all variables for one record