-
Notifications
You must be signed in to change notification settings - Fork 388
compute landIceMask using geometric_features #447
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
compute landIceMask using geometric_features #447
Conversation
TestingI successfully ran the following test cases on LANL IC:
Results are under the following folder on LANL IC in case anyone with access would like to take a look: |
|
I don't think it's worth taking too careful a look at the changes in |
|
@jonbob, as a review of this, all I'm asking from you is a verification that this produces more useful results for you than our previous attempt. I'll send an email tomorrow or Monday with more details on where things stand and what I presume will need to be redone. |
4ddfc89 to
f84a936
Compare
With this merge, landIceMask is computed in a similar way to the coastline from the appropriate geometric_features, rather than from a bilinear interpolation of the land-ice fraction onto the MPAS mesh.
With this merge, landIceMask is no longer computed based on landIceFraction. Instead, it is always read in from an input file. This allows landIceMask for global_ocean test cases to be computed from geometric_features while landIceFraction is computed as before during initialization.
Previously, landIceFraction was being used with a small thereshold.
Fix landIceMask computation in ISOMIP test case as well for clarity
This is no longer done in a separate step so the link should be to the appropriate file in the culled_mesh step.
This is just to avoid spurious error logs.
f84a936 to
78d478e
Compare
mark-petersen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good by visual inspection. Passes nightly regression suite on grizzly, gnu/optimized, intel/debug.
…atures' into ocean/gm_update_maint1.2 Only used the single commit needed to remove landIceMask computation from diagnostics: Read in landIceMask from input
Update maint1.2: 3D varying GM This update adds the following PRs from ocean/develop: - Adds options for 3d varying GM bolus and 2d varying phase speed #288 - Add GM bolus eddy stats #339 - Fix threading issue in MPAS-O GM routine #376 - compute landIceMask using geometric_features #447 - bug fixes for the nonlocal source term in KPP #305
#3513) Update maint1.2: add 3D varying GM This update brings in a new mpas-source submodule with the following PRs from MPAS ocean/develop: * Adds options for 3d varying GM bolus and 2d varying phase speed (MPAS-Dev/MPAS-Model#288) * Add GM bolus eddy stats (MPAS-Dev/MPAS-Model#339) * Fix threading issue in MPAS-O GM routine (MPAS-Dev/MPAS-Model#376) * Compute landIceMask using geometric_features (MPAS-Dev/MPAS-Model#447) * Bug fixes for the nonlocal source term in KPP (MPAS-Dev/MPAS-Model#305) and from E3SM master: * Change all ocean output files to single precision (E3SM #3360) [non-BFB]
…into ocean/develop This merge changes landIceMask in the global_ocean test cases with ice-shelf cavities (wISC) to being computed from the AntarcticIceCoverange feature from Bedmap2 (and soon BedMachine, see MPAS-Dev#433). Previously, landIceFraction was interpolated to the MPAS mesh and then used to compute landIceMask, but this meant that the land-ice mask wasn't necessarily consistent with the culled mesh used to produce mapping files for E3SM. This merge also computes the culled mesh without ice-shelf cavities within the culled_mesh step, rather than as part of a second, largely redundant step. The (currently broken) e3sm_coupling step is also updated to point to this new location for the culled mesh without ice-shelf cavities. In the various test cases, including global_ocean and also in the diagnostics module, landIceMask is no longer computed based on landIceFraction. Instead, landIceFraction is set to zero where landIceMask == 0. Eventually, when both these fields become dynamic in time, the coupling (or forcing) code will need to update both these fields at each coupling (or forcing) interval. Since landIceMask cannot currently change in time, this is not a present concern. Bug fix: A missing link to the driver script is added to the SO60to10wISC test case.
…n/develop This was removed in #447 but inadvertently got added back in in #457. It should be the first step toward addressing E3SM-Project/E3SM#3797
…into ocean/develop This merge changes landIceMask in the global_ocean test cases with ice-shelf cavities (wISC) to being computed from the AntarcticIceCoverange feature from Bedmap2 (and soon BedMachine, see MPAS-Dev#433). Previously, landIceFraction was interpolated to the MPAS mesh and then used to compute landIceMask, but this meant that the land-ice mask wasn't necessarily consistent with the culled mesh used to produce mapping files for E3SM. This merge also computes the culled mesh without ice-shelf cavities within the culled_mesh step, rather than as part of a second, largely redundant step. The (currently broken) e3sm_coupling step is also updated to point to this new location for the culled mesh without ice-shelf cavities. In the various test cases, including global_ocean and also in the diagnostics module, landIceMask is no longer computed based on landIceFraction. Instead, landIceFraction is set to zero where landIceMask == 0. Eventually, when both these fields become dynamic in time, the coupling (or forcing) code will need to update both these fields at each coupling (or forcing) interval. Since landIceMask cannot currently change in time, this is not a present concern. Bug fix: A missing link to the driver script is added to the SO60to10wISC test case.
…nto ocean/develop This was removed in MPAS-Dev#447 but inadvertently got added back in in MPAS-Dev#457. It should be the first step toward addressing E3SM-Project/E3SM#3797
…into ocean/develop This merge changes landIceMask in the global_ocean test cases with ice-shelf cavities (wISC) to being computed from the AntarcticIceCoverange feature from Bedmap2 (and soon BedMachine, see MPAS-Dev#433). Previously, landIceFraction was interpolated to the MPAS mesh and then used to compute landIceMask, but this meant that the land-ice mask wasn't necessarily consistent with the culled mesh used to produce mapping files for E3SM. This merge also computes the culled mesh without ice-shelf cavities within the culled_mesh step, rather than as part of a second, largely redundant step. The (currently broken) e3sm_coupling step is also updated to point to this new location for the culled mesh without ice-shelf cavities. In the various test cases, including global_ocean and also in the diagnostics module, landIceMask is no longer computed based on landIceFraction. Instead, landIceFraction is set to zero where landIceMask == 0. Eventually, when both these fields become dynamic in time, the coupling (or forcing) code will need to update both these fields at each coupling (or forcing) interval. Since landIceMask cannot currently change in time, this is not a present concern. Bug fix: A missing link to the driver script is added to the SO60to10wISC test case.
This merge changes
landIceMaskin theglobal_oceantest cases with ice-shelf cavities (wISC) to being computed from theAntarcticIceCoverangefeature from Bedmap2 (and soon BedMachine, see #433). Previously,landIceFractionwas interpolated to the MPAS mesh and then used to computelandIceMask, but this meant that the land-ice mask wasn't necessarily consistent with the culled mesh used to produce mapping files for E3SM.This merge also computes the culled mesh without ice-shelf cavities within the
culled_meshstep, rather than as part of a second, largely redundant step. The (currently broken)e3sm_couplingstep is also updated to point to this new location for the culled mesh without ice-shelf cavities.In the various test cases, including
global_oceanand also in thediagnosticsmodule,landIceMaskis no longer computed based onlandIceFraction. Instead,landIceFractionis set to zero wherelandIceMask == 0. Eventually, when both these fields become dynamic in time, the coupling (or forcing) code will need to update both these fields at each coupling (or forcing) interval. SincelandIceMaskcannot currently change in time, this is not a present concern.Bug fix: A missing link to the driver script is added to the
SO60to10wISCtest case.