NOAA-CEFI-Regional-Ocean-Modeling / ocean_BGC

3 stars 4 forks source link

Fix setting of as_param and allow generic_COBALT to set as_param_COBALT #42

Closed andrew-c-ross closed 2 months ago

andrew-c-ross commented 2 months ago

This fixes #9 by always setting the air-sea parameters for each generic tracer package to the value set by as_param in generic_tracer_nml. For COBALT, it also allows overriding the globally set as_param by setting as_param_cobalt in generic_COBALT_nml. (This probably won't be used, but the option is there since each generic tracer package is maintaining its own as_param).

I'd appreciate a double-check that this works correctly in case generic_COBALT.F90 is not always setting the value of the as_param_cobalt module variable before generic_COBALT.F90 reads and overwrites from the namelist.

andrew-c-ross commented 2 months ago

Also note our BGC xmls, which have been using as_param = 'unused' as a way of being able to set as_param_cobalt, will need to have this line removed.

yichengt900 commented 2 months ago

Ok, I can confirm now that if we remove as_param from input.nml directly, it will take the default value W14 as defined in generic_tracer.F90, and the results will be the same as if you had set as_param='W14' directly in input.nml. Similarly, you will get the B2B results (compared to the current version) if you set as_param='W92' in input.nml. This should act as expected.

yichengt900 commented 2 months ago

Thank you for confirming, @andrew-c-ross. I have tested this PR, and it passed both the 1D and NWA12 RT cases locally.

To reproduce the old answers, I had to set the namelist as_param to 'W92' in the test cases.

@andrew-c-ross, would you mind changing the default branch in our GitHub Actions workflow yaml from main to develop? This change should ensure that this PR passes the checks.