-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path20240401_Porting_and_Model_Run_Setup_E3SM.txt
142 lines (106 loc) · 5.54 KB
/
20240401_Porting_and_Model_Run_Setup_E3SM.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# Porting E3SM v2.0.2
# On BigRed200
# In /N/project/MSB_Project/E3SMv2.1
# https://e3sm.org/model/running-e3sm/e3sm-quick-start/
# Had to follow directions to add my ssh public key to github
# https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
# Then use git clone to get code
git clone -b maint-2.1 --recursive https://github.com/E3SM-Project/E3SM.git
# This is version 2.1.0
cd /N/project/MSB_Project/E3SMv2.1/E3SM
# ./manage_externals/checkout_externals # This is a step for installing/porting CESM, but not E3SM? There is no manage_externals directory in E3SM?
# Environmental Vars & see .bashrc for modules loaded (below)
echo $HOME #should be /N/u/pgoddard/BigRed200
CIMEROOT="/N/project/MSB_Project/E3SMv2.1/E3SM/cime"
CIME="/N/project/MSB_Project/E3SMv2.1/E3SM/cime"
model="e3sm"
machine="BigRed200"
#OMP_STACKSIZE="256M"
#OMP_PROC_BIND="spread"
#OMP_PLACES="threads"
compiler="intel" #or compiler="gnu"
#NETCDF_PATH=$NETCDF_DIR
# Increase stack size
ulimit -s unlimited
# Here are the module loads in my .bashrc:
module unload cray-mpich
module unload cray-hdf5-parallel
module unload cray-parallel-netcdf
module unload cray-netcdf-hdf5parallel
module unload PrgEnv-gnu
module unload python
module load PrgEnv-intel
module load intel/2021.2.0
module load cray-libsci
module load cray-mpich/8.1.16
module load cray-parallel-netcdf
module load cray-hdf5-parallel/1.12.1.3
module load cray-netcdf-hdf5parallel/4.8.1.3
module load cmake
module load python
# cime needs CPRNC built - I could not build it with E3SM directory tree with the directions below, but I had a working CPRNC executable from a CESM build, so that's what I've been using
# Download and build CPRNC - Cant get it to create the exectuable - using the one create in CESM
# https://github.com/ESMCI/cprnc
#cd /N/project/MSB_Project/E3SMv2.1/E3SM/cime/tools
#git clone --recursive https://github.com/ESMCI/cprnc.git
#cd cprnc
#mkdir bld
#cd bld
#module unload cray-parallel-netcdf/1.12.3.1 cray-netcdf-hdf5parallel/4.8.1.3
#module load intel/2021.2.0
#module load cray-hdf5/1.12.2.1
#module load cray-netcdf/4.9.0.1
# For cime, need a .cime directory in your home directory that contains config_batch.xml, config_compilers.xml, and config_machines.xml
# I put these files in their current form in this repository
# Check to ensure that your config_machines.xml file conforms to the CIME schema definition by doing the following: (the location of the .xsd file differs from CESM)
xmllint --noout --schema $CIME//CIME/data/config/xml_schemas/config_machines.xsd $HOME/.cime/config_machines.xml
# Run regression tests (Note, this test is in a different location than in CESM)
cd /N/project/MSB_Project/E3SMv2.1/E3SM/cime/CIME/tests
# Ran in screen
./scripts_regression_tests.py
# Output from 3/28/2024:
Ran 228 tests in 6501.636s
FAILED (failures=12, errors=3, skipped=12)
# Attempting to run a simulation with a compset and grid
# One time I did have a successful run; other times, following what I believe was the same procedure, I got SEGFAULT errors or errors during the step when the run was trying to download input data. This is where I am currently at - trying to have a successful run again. Next, I will reach out to someone with E3SM experience and find a compset and grid that should work and go from there. 4/1/2024.
# Trying to run sample from https://e3sm.org/model/running-e3sm/e3sm-quick-start/
# "Run Manually"
cd /N/project/MSB_Project/E3SMv2.1/E3SM/cime/scripts
# To see lists of available compsets, components, grids and machines, look at the help text:
./query_config --help
# To see all available component sets, try:
./query_config --compsets all
# Got this case to work 3/25/24 - have not been able to repeat the success
# Had to change: ./create_newcase --case cmip6-picontrol --compset A_WCYCL1850S_CMIP6 --res ne30_oECv3_ICG --mach cori-knl --user-mods-dir ../config/e3sm/testmods_dirs/allactive/v1cmip6/
# To:
./create_newcase --case cmip6-picontrol --compset WCYCL1850 --res ne30pg2_EC30to60E2r2
# --user-mods-dir ../testmods_dirs/allactive/v1cmip6/
# also tried: ne30_r0125_oECv3 - SEGFAULT errors
# After case created, enter dir
cd cmip6-picontrol/
# Increase nodes
vim env_mach_pes.xml # If you use positive numbers it's processors. Negative numbers is nodes
<entry id="NTASKS">
<type>integer</type>
<values>
<value compclass="ATM">-16</value>
<value compclass="CPL">-16</value>
<value compclass="OCN">-16</value>
<value compclass="WAV">-4</value>
<value compclass="GLC">-4</value>
<value compclass="ICE">-16</value>
<value compclass="ROF">-8</value>
<value compclass="LND">-8</value>
<value compclass="ESP">4</value>
<value compclass="IAC">4</value>
# If an old case setup already exists, might want to run './case.setup --reset' before building
./case.setup # some file are not found, but will attempt to download in the check_input_data phase
./preview_run
# If an old case build already exists, might want to run './case.build --clean' before building
./case.build
# Total build time: 506.666909 seconds #about
# MODEL BUILD HAS FINISHED SUCCESSFULLY
./case.submit # --debug
# After you submit the case, you can follow the progress of your run by monitoring the CaseStatus file.
tail CaseStatus # or more CaseStatus to view all
# check out log files and output in /N/scratch/pgoddard/cime_scratch/cmip6-picontrol/run