26
26
CPPFLAGS : " -I/usr/include -I/usr/local/include "
27
27
LDFLAGS : " -L/usr/lib/x86_64-linux-gnu -lnetcdf -lnetcdff -lpnetcdf"
28
28
# Versions of all dependencies can be updated here
29
- ESMF_VERSION : v8.6.0
29
+ ESMF_VERSION : v8.6.1
30
30
PARALLELIO_VERSION : pio2_6_2
31
31
CIME_MODEL : cesm
32
32
CIME_DRIVER : nuopc
@@ -64,13 +64,13 @@ jobs:
64
64
run : pip install -r requirements.txt
65
65
# use the latest cesm main
66
66
- name : cesm checkout
67
- uses : actions/checkout@v3
67
+ uses : actions/checkout@v4
68
68
with :
69
69
repository : ESCOMP/CESM
70
70
path : cesm
71
71
# this cmeps commit
72
72
- name : cmeps checkout
73
- uses : actions/checkout@v3
73
+ uses : actions/checkout@v4
74
74
with :
75
75
path : cesm/components/cmeps
76
76
79
79
- name : checkout externals
80
80
run : |
81
81
pushd cesm
82
- ./manage_externals/checkout_externals ccs_config cdeps share mct cpl7 parallelio
82
+ ./bin/git-fleximod update ccs_config cdeps share mct parallelio
83
83
cd ccs_config
84
84
git checkout main
85
85
cd ../
@@ -94,72 +94,55 @@ jobs:
94
94
git submodule update --init
95
95
cd ../components/cdeps
96
96
git checkout main
97
+ git submodule update --init
98
+ cd ../../share
99
+ git checkout main
97
100
98
101
- name : Cache ESMF
99
102
id : cache-esmf
100
- uses : actions/cache@v3
103
+ uses : actions/cache@v4
101
104
with :
102
105
path : ~/ESMF
103
- key : ${{ runner.os }}-${{ env.ESMF_VERSION }}-ESMF1
104
- # - name: cache pnetcdf
105
- # id: cache-pnetcdf
106
- # uses: actions/cache@v3
107
- # with:
108
- # path: ~/pnetcdf
109
- # key: ${{ runner.os }}-${{ env.PNETCDF_VERSION}}-pnetcdf
110
-
111
- # - name: Cache netcdf-fortran
112
- # id: cache-netcdf-fortran
113
- # uses: actions/cache@v3
114
- # with:
115
- # path: ~/netcdf-fortran
116
- # key: ${{ runner.os }}-${{ env.NETCDF_FORTRAN_VERSION }}-netcdf-fortran
106
+ key : ${{ runner.os }}-${{ env.ESMF_VERSION }}
117
107
118
108
- name : Cache ParallelIO
119
109
id : cache-ParallelIO
120
- uses : actions/cache@v3
110
+ uses : actions/cache@v4
121
111
with :
122
- path : ~ /pio
112
+ path : ${GITHUB_WORKSPACE} /pio
123
113
key : ${{ runner.os }}-${{ env.PARALLELIO_VERSION }}.parallelio
114
+
124
115
- name : Cache inputdata
125
116
id : cache-inputdata
126
- uses : actions/cache@v3
117
+ uses : actions/cache@v4
127
118
with :
128
119
path : $HOME/cesm/inputdata
129
120
key : inputdata
130
- # - name: Build PNetCDF
131
- # if: steps.cache-pnetcdf.outputs.cache-hit != 'true'
132
- # uses: ESCOMP/CDEPS/.github/actions/buildpnetcdf@e06246b560d3132170bb1a5443fa3d65dfbd2040
133
- # with:
134
- # pnetcdf_version: ${{ env.PNETCDF_VERSION }}
135
- # install_prefix: $HOME/pnetcdf
136
- # - name: Build NetCDF Fortran
137
- # if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true'
138
- # uses: ESCOMP/CDEPS/.github/actions/buildnetcdff@e06246b560d3132170bb1a5443fa3d65dfbd2040
139
- # with:
140
- # netcdf_fortran_version: ${{ env.NETCDF_FORTRAN_VERSION }}
141
- # install_prefix: $HOME/netcdf-fortran
142
- # netcdf_c_path: /usr
121
+
143
122
- name : Build ParallelIO
144
123
if : steps.cache-PARALLELIO.outputs.cache-hit != 'true'
145
124
uses : NCAR/ParallelIO/.github/actions/parallelio_cmake@05173a6556ea8d80eb34e3881a5014ea8f4b7543
146
125
with :
147
126
parallelio_version : ${{ env.ParallelIO_VERSION }}
148
127
enable_fortran : True
149
- install_prefix : /home/runner /pio
128
+ install_prefix : ${GITHUB_WORKSPACE} /pio
150
129
151
- - name : Build ESMF
152
- if : steps.cache-esmf.outputs.cache-hit != 'true'
153
- uses : ESCOMP/CDEPS/.github/actions/buildesmf@e06246b560d3132170bb1a5443fa3d65dfbd2040
130
+ - name : Install ESMF
131
+ uses : esmf-org/install-esmf-action@v1
132
+ env :
133
+ ESMF_COMPILER : gfortran
134
+ ESMF_BOPT : g
135
+ ESMF_COMM : openmpi
136
+ ESMF_NETCDF : nc-config
137
+ ESMF_PNETCDF : pnetcdf-config
138
+ ESMF_INSTALL_PREFIX : ${GITHUB_WORKSPACE}/ESMF
139
+ ESMF_PIO : external
140
+ ESMF_PIO_INCLUDE : ${GITHUB_WORKSPACE}/pio/include
141
+ ESMF_PIO_LIBPATH : ${GITHUB_WORKSPACE}/pio/lib
154
142
with :
155
- esmf_version : ${{ env.ESMF_VERSION }}
156
- esmf_bopt : g
157
- esmf_comm : openmpi
158
- install_prefix : ~/ESMF
159
- netcdf_c_path : /usr
160
- netcdf_fortran_path : /usr
161
- pnetcdf_path : /usr
162
- parallelio_path : ~/pio
143
+ version : ${{ env.ESMF_VERSION }}
144
+ esmpy : false
145
+ cache : true
163
146
164
147
165
148
- name : PREP for scripts regression test
@@ -169,14 +152,13 @@ jobs:
169
152
pushd $GITHUB_WORKSPACE/cesm/cime/CIME/tests
170
153
export SRCROOT=$GITHUB_WORKSPACE/cesm/
171
154
export CIME_TEST_PLATFORM=ubuntu-latest
172
- export PIO_INCDIR=$HOME /pio/include
173
- export PIO_LIBDIR=$HOME /pio/lib
155
+ export PIO_INCDIR=$GITHUB_WORKSPACE /pio/include
156
+ export PIO_LIBDIR=$GITHUB_WORKSPACE /pio/lib
174
157
export PIO_VERSION_MAJOR=2
175
158
export PIO_TYPENAME_VALID_VALUES="netcdf,pnetcdf"
176
159
export NETCDF_PATH=/usr
177
160
export PNETCDF_PATH=/usr
178
161
export LD_LIBRARY_PATH=/usr/lib/libx86_64-linux-gnu/:$LD_LIBRARY_PATH
179
- export ESMFMKFILE=$HOME/ESMF/lib/libg/Linux.gfortran.64.openmpi.default/esmf.mk
180
162
cat <<EOF >> $GITHUB_WORKSPACE/cesm/ccs_config/machines/cmake_macros/ubuntu-latest.cmake
181
163
set(NetCDF_Fortran_INCLUDE_DIR /usr/include)
182
164
set(NetCDF_Fortran_LIBRARY /usr/lib/x86_64-gnu-Linux/libnetcdff.so)
0 commit comments