Closed xylar closed 5 months ago
@cbegeman and @darincomeau, I would appreciate your review of this work. It's a step needed before https://acme-climate.atlassian.net/wiki/spaces/PSC/pages/4210098268/Design+Document+Data+iceberg+and+ice-shelf+melt+flux+patterns+for+E3SM+spin-up+runs but it's not directly related to that work and seems like something we need for any simulations with DIB and either DISMF or PISMF.
I haven't had a chance to test these changes yet, and probably won't have a chance to do that until Thursday so for now just a look at the code is what I'm after.
I did test this after all with the e3sm_cryo_developer
suite. I'm seeing segfaults in time_series_stats
:
101: ==== backtrace (tid: 666453) ====
101: 0 0x0000000000012cf0 __funlockfile() :0
101: 1 0x0000000005c62832 ocn_time_series_stats_mp_operate3r_avg_() /lcrc/group/e3sm/ac.xylar/scratch/chrys/SMS_D_Ld1.TL319_IcoswISC30E3r5.GMPAS-JRA1p5-DIB-PISMF.chrysalis_intel.mpaso-jra_1958.20240623_155730_j02lqb/bld/cmake-bld/core_ocean/analysis_members/mpas_ocn_time_series_stats.f90:2542
101: 2 0x0000000005c50c2c ocn_time_series_stats_mp_typed_operate_() /lcrc/group/e3sm/ac.xylar/scratch/chrys/SMS_D_Ld1.TL319_IcoswISC30E3r5.GMPAS-JRA1p5-DIB-PISMF.chrysalis_intel.mpaso-jra_1958.20240623_155730_j02lqb/bld/cmake-bld/core_ocean/analysis_members/mpas_ocn_time_series_stats.f90:2079
101: 3 0x0000000005c2654b ocn_time_series_stats_mp_ocn_compute_time_series_stats_() /lcrc/group/e3sm/ac.xylar/scratch/chrys/SMS_D_Ld1.TL319_IcoswISC30E3r5.GMPAS-JRA1p5-DIB-PISMF.chrysalis_intel.mpaso-jra_1958.20240623_155730_j02lqb/bld/cmake-bld/core_ocean/analysis_members/mpas_ocn_time_series_stats.f90:383
101: 4 0x0000000005442aff ocn_analysis_driver_mp_ocn_compute_analysis_members_() /lcrc/group/e3sm/ac.xylar/scratch/chrys/SMS_D_Ld1.TL319_IcoswISC30E3r5.GMPAS-JRA1p5-DIB-PISMF.chrysalis_intel.mpaso-jra_1958.20240623_155730_j02lqb/bld/cmake-bld/core_ocean/analysis_members/mpas_ocn_analysis_driver.f90:1394
101: 5 0x0000000005435f84 ocn_analysis_driver_mp_ocn_analysis_compute_() /lcrc/group/e3sm/ac.xylar/scratch/chrys/SMS_D_Ld1.TL319_IcoswISC30E3r5.GMPAS-JRA1p5-DIB-PISMF.chrysalis_intel.mpaso-jra_1958.20240623_155730_j02lqb/bld/cmake-bld/core_ocean/analysis_members/mpas_ocn_analysis_driver.f90:831
101: 6 0x00000000031d4883 ocn_comp_mct_mp_ocn_run_mct_() /lcrc/group/e3sm/ac.xylar/scratch/chrys/SMS_D_Ld1.TL319_IcoswISC30E3r5.GMPAS-JRA1p5-DIB-PISMF.chrysalis_intel.mpaso-jra_1958.20240623_155730_j02lqb/mpas-ocean/driver/ocn_comp_mct.f90:1053
101: 7 0x000000000049b235 component_mod_mp_component_run_() /gpfs/fs1/home/ac.xylar/e3sm_work/E3SM/ocn/separate-removial-ais-river-ice-runoff/driver-mct/main/component_mod.F90:757
101: 8 0x0000000000453f36 cime_comp_mod_mp_cime_run_() /gpfs/fs1/home/ac.xylar/e3sm_work/E3SM/ocn/separate-removial-ais-river-ice-runoff/driver-mct/main/cime_comp_mod.F90:3151
101: 9 0x0000000000482965 MAIN__() /gpfs/fs1/home/ac.xylar/e3sm_work/E3SM/ocn/separate-removial-ais-river-ice-runoff/driver-mct/main/cime_driver.F90:153
101: 10 0x000000000041ab22 main() ???:0
101: 11 0x000000000003ad85 __libc_start_main() ???:0
101: 12 0x000000000041aa2e _start() ???:0
So that obviously needs to be fixed.
I reran SMS_D_Ld1.TL319_IcoswISC30E3r5.GMPAS-JRA1p5-DIB-PISMF.chrysalis_intel.mpaso-jra_1958
on its own and it was successful, so it doesn't seem like the failure above is reproducible.
I will run a test that actually includes removing ice runoff.
Should we run B-case tests both with and without @chloewhicker's snowcapping changes from https://github.com/E3SM-Project/E3SM/pull/6413? If I remember correctly, those significantly changed both liquid and solid runoff from AIS.
@xylar Let me know if you'd like me to run particular tests on different machines/compilers. The code looks good to me from visual inspection.
Should we run B-case tests both with and without @chloewhicker's snowcapping changes from https://github.com/E3SM-Project/E3SM/pull/6413? If I remember correctly, those significantly changed both liquid and solid runoff from AIS.
I think that would be ideal but I don't think we will use that in any configuration other than SORRM. So I don't think it makes sense to do a long B-case run until we have a new version of the SORRM mesh and I'm not sure whether we think we can afford long B-case runs with a bunch of different configurations for comparison. We can certainly discuss this further. But, as an example, I've been sitting in the queue all day waiting to run a 1-hour test of SMS_D_Ld1.ne30pg2_SOwISC12to60E2r4.CRYO1850-DISMF.chrysalis_intel
.
I think that would be ideal but I don't think we will use that in any configuration other than SORRM. So I don't think it makes sense to do a long B-case run until we have a new version of the SORRM mesh and I'm not sure whether we think we can afford long B-case runs with a bunch of different configurations for comparison. We can certainly discuss this further. But, as an example, I've been sitting in the queue all day waiting to run a 1-hour test of SMS_D_Ld1.ne30pg2_SOwISC12to60E2r4.CRYO1850-DISMF.chrysalis_intel.
@xylar Bummer. Thanks for the update.
I ran a quick test that took 2 days in the queue to make sure river runoff was being removed and ice runoff was not. Results are in:
/lcrc/group/e3sm/ac.xasay-davis/scratch/chrys/SMS_D_Ld1.ne30pg2_SOwISC12to60E2r4.CRYO1850-DISMF.chrysalis_intel.20240624_034222_shla8m
As expected, I'm seeing:
$ ncdump SMS_D_Ld1.ne30pg2_SOwISC12to60E2r4.CRYO1850-DISMF.chrysalis_intel.20240624_034222_shla8m.mpaso.hist.am.conservationCheck.0001-01-01.nc
...
accumulatedRemovedRiverRunoffFlux = 0, 0 ;
accumulatedRemovedIceRunoffFlux = 0, 33623980.655436 ;
...
I agree, we probably want this change only after https://github.com/E3SM-Project/E3SM/pull/6413 goes in.
This is needed so so we can remove ice (solid) runoff but not river (liquid) runoff.
This merge also removes
totalRemovedRiverRunoffFlux
andtotalRemovedIceRunoffFlux
variables, as these were computed incorrectly (they were missingareaCell
) and they are not currently used for anything within MPAS-Ocean or any diagnostics.