MOM5 users forum and passive tracers

Hi,
There used to be a google forum called the “MOM users forum”. I think it was found at this address:
https://groups.google.com/g/mom-users

But now I can’t see anything there anymore. Does anyone know where it went?

I’m trying to find out if anyone has run MOM5 with passive temperature and salinity tracers before. Anybody know how to do that?

Regards,
Dave

I’ve used passive tracers – to create a proxy for dense shelf water. It involves specifying the initial condition and boundary fluxes for the tracer, which I think would be sufficient to make a temperature-like and salinity-like tracer. Is that of interest?

1 Like

Yes that would be great thanks Andy.

Its possible the NCAR forum is the “replacement” for these sorts of questions now (obviously they are very much welcome on the access-hive forum too)

1 Like

It got inundated with spam, so perhaps they decided to shutter it for that reason.

I guess fair enough… I wish I could trawl through the archive of it though.

OK, I put my notebooks up on GitHub so you can see how we made the passive tracer files:

Note that this use case is a little different to yours, so it might not be entirely transferrable, but it gives you a start. There are instructions on what to adjust in the MOM5 field_table and input.nml.

Any questions, let me know.

2 Likes

Hi Andy,
Just running through your notebook. One thing I can’t fully execute is loading in the previous restart files. For the ocean_passive.res.nc I can do that ok because I’ve seen how that works already in my own example. But for the ocean_passive_masks.res.nc, I haven’t seen an example of that.

I can see in your MakePassiveRestart9.ipynb that you load an example of such a file from x77. I’m not currently a member of x77. (I could request to join if that’s easiest…)

passive_mask = xr.open_dataset('/g/data/x77/amh157/passive/ocean_passive_masks.res.nc').passive_rossmask

Can you please just tell me though, does this mask have the structure of 1s in the surface forcing region, and zeros everywhere below the surface? Or is it more complex than that?

Beyond that, I’m not entirely sure if this method will work for my T-S passive forcing scenario, because I think the passive tracer restoring field is static, whereas I would like to impose a monthly varying restoring field. In much the same way as salt_sfc_restore.nc is used in ACCESS-OM2… I would like to do an equivalent monthly restoring field but for a passive tracer.

If someone knows how this works better than my understanding above, please shout.

Thanks,
Dave

Update: I got access to those files I mentioned. I can confirm that yes the restoring mask is 1s in the surface forcing region, 0s outside the forcing region, and 0s everywhere below the surface.

Ok, now that I’ve gone through the whole thing… I can see you are using the ocean_sponges_tracer method, which looks like it can indeed do time-varying restoring…
I will try to set that up. Thanks again,
Dave

Hi @AndyHoggANU ,
I tried a bunch of ways to set up the ocean_sponges_tracer method. Whatever I try, I get an error with the time interpolation when I try to run it.
I couldn’t see in your instructions how to set up a working sponge in the input.nml. Currently in input.nml I have set the following:

 &ocean_sponges_tracer_nml
      use_this_module=.true.
/

(I’m using a 2D set of sponge coefficients, because it’s surface only sponge forcing.)

Do you have a run directory or a version of input.nml where your sponges have run successfully? I just can’t seem to get a working template at this point.

Regards,
Dave

Looks like I had this:

&ocean_sponges_tracer_nml
    damp_coeff_3d     = .true.
    use_this_module   = .true.
/

Note that this is not what I say in the instructions in the notebook – so if you figure this out please feel free to update the notebooks!! (Or add one of your own there.)

BTW, I am looking at one of the outputs from our 3rd JRA IAF cycle, e.g.:

/g/data/cj50/access-om2/raw-output/access-om2-01/01deg_jra55v140_iaf_cycle3/output572/ocean

You could do a comparison with other files in that directory as well.

Ah that’s great to see, thanks. I thought you must have switched on those namelists…

Also, do you happen to have a restart folder for that run? Can be any restart folder in the run, just want to check over it.

Miraculously, it looks like these restarts haven’t been auto-deleted off scratch:

/scratch/v45/aek156/access-om2/archive/01deg_jra55v140_iaf_cycle3/restart*
1 Like

Update: I have a sponge test case running now. The reason it was hanging was because I had a NaN in the _FillValue. I thought this wasn’t a problem because I saw in your version that you had NaN _FillValue in the X, Y, Z, T coordinate variables, but I didn’t realise the importance of the step where you set the _FillValue to 1.0e20 for the sponge restoring variables themselves. Without that the model will crash. It doesn’t like NaN FillValues.

Will report back if I get something useful out of it.

Aah, yes, I vaguely remember finding that out the hard way.
Can you add a note in the notebook highlighting this step?

You mean via github pull-request right? I can do that when I’m back in Jan… I’m out of time today and going on leave, sorry.

Yep, via a PR.
No hurry! Enjoy the break.