EarthWorksOrg / EarthWorks

Other
3 stars 2 forks source link

Remove manage_externals and update based on ESCOMP/CESM tag 'cesm3_0_beta01' #69

Closed gdicker1 closed 2 weeks ago

gdicker1 commented 3 weeks ago

NOTE: this PR is currently incomplete and does not actually have git-fleximod, nor remove manage_externals yet.

This continues to catch EarthWorks up to ESCOMP/CESM development and is expected to merge after #68.

[!Important] This PR represents a change to how the EarthWorksOrg code will be fetched. After cloning the PR branch (or develop branch of EarthWorks repo after this merge), a user now runs bin/git-fleximod update instead of ./manage_externals/checkout_externals.

gdicker1 commented 2 weeks ago

Sub PRs:

gdicker1 commented 2 weeks ago

[!Caution] The changes in this PR cause compsets that use CLUBB physics and NVHPC compilers (e.g. CHAOS2000dev) to fail to compile. This can be fixed by moving one file within CLUBB:

# From the root of an EarthWorks clone
mv components/cam/src/physics/clubb/src/CLUBB_core/mt95.f90 \
   components/cam/src/physics/clubb/src/CLUBB_core/mt95.F90

These changes won't be necessary once a more up-to-date version of CLUBB is used. This will be accomplished by updating CAM to be based on cam6_4_019 see ESCOMP/CAM PR#1086 for some more info.

gdicker1 commented 2 weeks ago

Testing the ew-pr category against runs of the same test category using the ew2.3.002 tag as baseline (results of #68) revealed:

The failure of CHAOS2000dev with GNU compilers is odd. The failed run creates PET{proc_num}.ESMF_LogFile for each process that failed. An excerpt seems to blame some NaNs. mediator/med_methods_mod.F90:2628 ERROR: 1 nans found in Sa_pslv

When trying to build with DEBUG=true, builds generate an internal compiler error and point to the generation of aerosol_optics_cam.o. This doesn't seem specific to EarthWorks; using the exact same aerosol_optics_cam.F90 as cam6_3_162 still generated this error (so, the __881FIX__ and __945FIX__ aren't a problem) and this build error still occurs when I try to build F2000dev with DEBUG=true using this PR branch. gmake: *** [/glade/derecho/scratch/gdicker/ew-pr_2024Aug28152300/ewm-2.3.001-69/SMS_P128_Vnuopc.mpasa120_oQU120.CHAOS2000dev.derecho_gnu.GC.20240828_152520_zsbol5/Tools/Makefile:1009: aerosol_optics_cam.o] Error 1

However, since these changes have been approved by CESM development and GNU isn't our primary compiler, I think these changes are ready to merge.

[^1]: NLCOMP fail means some namelist(s) changed between the test and the baseline.

gdicker1 commented 2 weeks ago

@sherimickelson and @areanddee, there's a few things to note in the description and comments here. However, I think these changes are ready to merge and plan to do so this afternoon.

This PR is 2nd of 4 PRs to update EarthWorks with CESM developments:

areanddee commented 2 weeks ago

Approved. I hope we can resolve the .f90 -> .F90 soon. That's sure to trip people up.