Hello! I've gone through the examples and such, and really only have minor comments.
The first is that HS94_Makie.jl
didn't run for me. I get the error message
ArgumentError: No file exists at given path: /var/folders/7h/kw60pdp92yv7z_x6hjb4b0mr0000gq/T/HS94_animation_link/run/HS94.jld2
when trying to run the Pluto notebook
The second, and really minor, is that in the documentation when looking through "Functionalities" a couple functions are listed as ClimateModels.function
where they should be MITgcm.function
, if that make sense. These are specifically the functions build
, clean
, compile
, and setup
.
Aside from those I didn't run into issues running the code/examples given. I have some thoughts on the documentation itself, but don't feel that this should prevent the paper from being published so maybe take the remainder as "potential considerations for future versions of the documentation" :)
I really like MITgcm_workflow.jl
and HS94_animation.jl
, since they both provide a good walkthrough of how to run specific model configurations and read the output. I do think that it would be helpful though to provide a bit more info on what's going on.
For example, in MITgcm_workflow.jl
when we get to analyzing results the user is shown a list of (what I think are all) outputs from running the configuration, in my case this was tutorial_global_oce_biogeo
. However what the variables are is sort of vague, I don't really know what's contained in something like "surfDiag.0005184004.001.002.data"
and it could be useful to have a reference point on what exactly I'm looking at/what the MITgcm returns to the user. I'm guessing that this is all documented in the MITgcm documentation itself, so maybe providing a link to the relevant location?
Going to HS94_animation.jl
, I have a somewhat similar comment. In the block on Workflow Steps, we're shown sort of three things. First we setup the directory, then compile, and then how to modify parameters. Setting up the directory and compiling the model is fine since this is, I'm guessing, fairly uniform across the different configurations, but the tunable parameters likely change between model configurations. It could be helpful to describe to the user what options they have, so again just a link to the MITgcm documentation and/or providing an explanation here. It’s also still not overly clear to me how one goes about changing parameters. In this example I can piece together what was done, but for example in the line
fil1=joinpath(PICKUP_hs94_path,"pickup.0000043200.data”)
I don’t know where the path PICKUP_hs94_path
came from, or how we knew that this is how to adjust the initial state.
I guess in summary, providing information on the MITgcm and what capabilities it has, especially considering there will be people who come to use MITgcm.jl
who (like me) have never used the MITgcm before. So reading pickups and building models are all sort of foreign concepts when you’re used to Julia ocean models. As a bit of a side note, it would also be really cool if there was an example that demonstrated the adjoint capabilities the MITgcm (ECCO?) has. I’m guessing this would be computationally expensive, but still really neat to see in Julia.