noaa-oar-arl / nexus Goto Github PK
View Code? Open in Web Editor NEWThe NOAA Emission and Exchange Unified System (NEXUS)
License: GNU General Public License v3.0
The NOAA Emission and Exchange Unified System (NEXUS)
License: GNU General Public License v3.0
Can't use the standard GHA environments since ESMF takes a long time to build, especially with MPI support. Instead, can create and use custom Docker image with ESMF already built, similar to what GEOS-Chem does. Ultimately could create a build matrix with different compilers, etc., but probably will start with Ubuntu 22.04 LTS + GFortran v11, NetCDF, etc. via apt
.
Sample config with HTAP PM2.5 and PM10 only. Data files lossily compressed with NCO total ~ 500 MB. But the initial version could just check for successful NEXUS build. Then, run the sample case (Barry suggested running for 6 hours). Then, check output is consistent with reference output.
Currently you can't build NEXUS without MPI:
Line 15 in 3842818
However, HEMCO doesn't require MPI, so in principle it should be fine to build/run without MPI.
From my experiments, currently you can run with non-MPI ("mpiuni") ESMF, though NEXUS fails in debug mode since ESMF_FieldWrite
doesn't work with mpiuni ESMF.
NEXUS/src/nexus_methods_mod.F90
Line 3601 in 3842818
StateWrite
routine called here:NEXUS/src/nexus_methods_mod.F90
Lines 534 to 535 in 3842818
CMake supports this but currently we have that setting the CMAKE_Fortran_COMPILER
env var is required:
Lines 5 to 6 in 3842818
Currently, the driver for NEXUS is a pure ESMF driver. The initial move to a NUOPC component is to create the NUOPC CAP and a single model driver. This would allow us to have 1) a future capability to run NEXUS offline and 2) the first step to the NEXUS component for the UFS-weather-model.
The forecast task 'run_fcst' of Online-CMAQ fails with the latest hash of NEXUS.
The current hash of NEXUS ("c05ee48") works well in Online-CMAQ.
You can find the log files:
The ESMF logfile (PET000.ESMF_LogFIle) says:
20221029 141252.612 ERROR PET000 aqmio.F90:1238 - Field CO not defined in NetCDF data set (strerr=NetCDF: Variable not found, ncerrToCheck=-49)
20221029 141252.613 ERROR PET000 aqmio.F90:1056 - Passing error in return code
20221029 141252.613 ERROR PET000 aqmio.F90:812 - Passing error in return code
20221029 141252.613 ERROR PET000 aqm_emis_mod.F90:1055 - Passing error in return code
20221029 141252.613 ERROR PET000 aqm_comp_mod.F90:189 - Failed to update emissions
20221029 141252.613 ERROR PET000 aqm_cap.F90:596 - Passing error in return code
20221029 141252.613 ERROR PET000 AQM:src/addon/NUOPC/src/NUOPC_ModelBase.F90:2226 - Passing error in return code
20221029 141252.613 ERROR PET000 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:3340 - Phase 'RunPhase1' Run for modelComp 2 did not return ESMF_SUCCESS
20221029 141252.613 ERROR PET000 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:3625 - Passing error in return code
20221029 141252.613 ERROR PET000 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:3255 - Passing error in return code
20221029 141252.613 ERROR PET000 UFS.F90:403 - Aborting UFS
20221029 141252.613 INFO PET000 Finalizing ESMF
Should we change any configurations in Online-CMAQ?
I checked out the latest NEXUS code on Cactus.
However, the nexus jobs failed with the following error message.
**Traceback (most recent call last):
File "/lfs/h2/emc/physics/noscrub/jianping.huang/nwdev/packages/aqm.v7.0.82a/sorc/arl_nexus/utils/python/nexus_gfs_bio.py", line 428, in
raise SystemExit(main(parse_args()))
File "/lfs/h2/emc/physics/noscrub/jianping.huang/nwdev/packages/aqm.v7.0.82a/sorc/arl_nexus/utils/python/nexus_gfs_bio.py", line 171, in main
assert len(files) >= 2, "need at least 2 for time interp and time calcs"
AssertionError: need at least 2 for time interp and time calcs
More details can be found at
/lfs/h2/emc/ptmp/jianping.huang/emc.para/output/20200815 > vim nexus_emission_2020081506_s00.id_1688123510.log
It seems that the timezone file specified in NEXUS_Config.rc
is not the recommended one. The recommended timezones_voronoi_1x1.nc
allegedly does better for coastal grid cells that have ocean overlap. Has this been tried in NEXUS?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.