Skip to content

Commit 4d6ac8d

Browse files
committed
Add namelist to test swathing and update CI scripts. Still need updated KGOs per Dustin.
1 parent acaf724 commit 4d6ac8d

File tree

3 files changed

+128
-0
lines changed

3 files changed

+128
-0
lines changed

.github/workflows/containerized-ci.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ jobs:
7878
cd driver/run
7979
./cosp2_test cosp2_input_nl.txt
8080
./cosp2_test cosp2_input_nl.um_global.txt
81+
./cosp2_test cosp2_swath_input_nl.um_global.txt
8182
###############################################################################
8283
# Compare results against known good outputs. As above,
8384
# we split it in as many steps as tests.
@@ -99,6 +100,15 @@ jobs:
99100
TST=data/outputs/UKMO/cosp2_output.um_global.nc
100101
STATS=data/outputs/UKMO/cosp2_output.um_global.${{ matrix.compiler }}.out
101102
python compare_to_kgo.py ${KGO} ${TST} --atol=${ATOL} --rtol=${RTOL} --stats_file=${STATS}
103+
# 3. UM global snapshot with swathing.
104+
- name: UM global with swathing against known good output (KGO)
105+
if: always()
106+
run: |
107+
cd driver
108+
KGO=data/outputs/UKMO/cosp2_output.um_global.${{ matrix.compiler }}.kgo.$KGO_VERSION.nc
109+
TST=data/outputs/UKMO/cosp2_swath_output.um_global.nc
110+
STATS=data/outputs/UKMO/cosp2_output.um_global.${{ matrix.compiler }}.out
111+
python compare_to_kgo.py ${KGO} ${TST} --atol=${ATOL} --rtol=${RTOL} --stats_file=${STATS}
102112
###############################################################################
103113
# Produce plots when it fails during global snapshot tests,
104114
# and create a tarball with outputs.

.github/workflows/continuous_integration.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ jobs:
102102
cd driver/run
103103
./cosp2_test cosp2_input_nl.txt
104104
./cosp2_test cosp2_input_nl.um_global.txt
105+
./cosp2_test cosp2_swath_input_nl.um_global.txt
105106
# 2. UM global snapshot. Diagnostics on model levels.
106107
- name: UM global snapshot. Diagnostics on model levels.
107108
run: |
@@ -134,6 +135,14 @@ jobs:
134135
KGO=data/outputs/UKMO/cosp2_output.um_global_model_levels.${F90_SHORT_NAME}.kgo.$KGO_VERSION.nc
135136
TST=data/outputs/UKMO/cosp2_output.um_global_model_levels.nc
136137
python compare_to_kgo.py ${KGO} ${TST} --atol=${ATOL} --rtol=${RTOL}
138+
# 4. UM global snapshot.
139+
- name: UM global with swathing against known good output (KGO)
140+
if: always()
141+
run: |
142+
cd driver
143+
KGO=data/outputs/UKMO/cosp2_output.um_global.${F90_SHORT_NAME}.kgo.$KGO_VERSION.nc
144+
TST=data/outputs/UKMO/cosp2_swath_output.um_global.nc
145+
python compare_to_kgo.py ${KGO} ${TST} --atol=${ATOL} --rtol=${RTOL}
137146
###############################################################################
138147
# Produce plots when it fails during global snapshot tests,
139148
# and create a tarball with outputs.
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
! (c) British Crown Copyright 2008, the Met Office.
2+
! All rights reserved.
3+
!
4+
! Redistribution and use in source and binary forms, with or without modification, are permitted
5+
! provided that the following conditions are met:
6+
!
7+
! * Redistributions of source code must retain the above copyright notice, this list
8+
! of conditions and the following disclaimer.
9+
! * Redistributions in binary form must reproduce the above copyright notice, this list
10+
! of conditions and the following disclaimer in the documentation and/or other materials
11+
! provided with the distribution.
12+
! * Neither the name of the Met Office nor the names of its contributors may be used
13+
! to endorse or promote products derived from this software without specific prior written
14+
! permission.
15+
!
16+
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
17+
! IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
18+
! FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
19+
! CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20+
! DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21+
! DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
22+
! IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
23+
! OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24+
25+
26+
! Namelist that sets up the main COSP options
27+
&COSP_INPUT
28+
NPOINTS=1728, ! 1728,6912
29+
NPOINTS_IT=1000,! Max number of gridpoints to be processed in one iteration
30+
NCOLUMNS=20, ! Number of subcolumns
31+
NLEVELS=54, ! Number of model levels
32+
USE_VGRID=.true., ! Use fixed vertical grid for outputs? (if .true. then you need to define number of levels with Nlr)
33+
NLVGRID=40, ! Number of levels in statistical outputs (only used if USE_VGRID=.true.)
34+
CSAT_VGRID=.true., ! CloudSat vertical grid? (if .true. then the CloudSat standard grid is used for the outputs.
35+
! USE_VGRID needs also be .true.)
36+
DINPUT='./', ! Directory where the input files are located. Useful when processing multiple files.
37+
! Leave blank ('') if you are using the full path in FINPUT.
38+
FINPUT='../data/inputs/UKMO/cosp_input.um_global.nc', ! List input NetCDF files
39+
FOUTPUT='../data/outputs/UKMO/cosp2_swath_output.um_global.nc',
40+
!----------------------------------------------------------------------------------
41+
!--------------- Inputs related to radar simulations
42+
!----------------------------------------------------------------------------------
43+
cloudsat_RADAR_FREQ=94.0, ! CloudSat radar frequency (GHz)
44+
SURFACE_RADAR=0, ! surface=1, spaceborne=0
45+
cloudsat_use_gas_abs=1, ! include gaseous absorption? yes=1,no=0
46+
cloudsat_do_ray=0, ! calculate/output Rayleigh refl=1, not=0
47+
cloudsat_k2=-1, ! |K|^2, -1=use frequency dependent default
48+
use_precipitation_fluxes=.true., ! True if precipitation fluxes are input to the algorithm
49+
cloudsat_micro_scheme='MMF_v3_single_moment', !'MMF_v3.5_two_moment'
50+
!----------------------------------------------------------------------------------
51+
!---------------- Inputs related to lidar simulations
52+
!----------------------------------------------------------------------------------
53+
lidar_ice_type=0, ! Ice particle shape in lidar calculations (0=ice-spheres ; 1=ice-non-spherical)
54+
OVERLAP=3, ! overlap assumption used by scops: 1=max, 2=rand, 3=max/rand
55+
!----------------------------------------------------------------------------------
56+
!---------------- Inputs related to ISCCP simulator
57+
!----------------------------------------------------------------------------------
58+
ISCCP_TOPHEIGHT=1, ! 1 = adjust top height using both a computed
59+
! infrared brightness temperature and the visible
60+
! optical depth to adjust cloud top pressure. Note
61+
! that this calculation is most appropriate to compare
62+
! to ISCCP data during sunlit hours.
63+
! 2 = do not adjust top height, that is cloud top
64+
! pressure is the actual cloud top pressure
65+
! in the model
66+
! 3 = adjust top height using only the computed
67+
! infrared brightness temperature. Note that this
68+
! calculation is most appropriate to compare to ISCCP
69+
! IR only algortihm (i.e. you can compare to nighttime
70+
! ISCCP data with this option)
71+
ISCCP_TOPHEIGHT_DIRECTION=2, ! direction for finding atmosphere pressure level
72+
! with interpolated temperature equal to the radiance
73+
! determined cloud-top temperature
74+
! 1 = find the *lowest* altitude (highest pressure) level
75+
! with interpolated temperature equal to the radiance
76+
! determined cloud-top temperature
77+
! 2 = find the *highest* altitude (lowest pressure) level
78+
! with interpolated temperature equal to the radiance
79+
! determined cloud-top temperature. This is the
80+
! default value since V4.0 of the ISCCP simulator.
81+
! ONLY APPLICABLE IF top_height EQUALS 1 or 3
82+
!----------------------------------------------------------------------------------
83+
!-------------- Swathing inputs
84+
!----------------------------------------------------------------------------------
85+
N_SWATHS_ISCCP=2,
86+
SWATH_LOCALTIMES_ISCCP=5.25,18.0,
87+
SWATH_WIDTHS_ISCCP=2000,2000,
88+
N_SWATHS_MISR=2,
89+
SWATH_LOCALTIMES_MISR=6.5,18.25,
90+
SWATH_WIDTHS_MISR=2000,2000,
91+
N_SWATHS_MODIS=2,
92+
SWATH_LOCALTIMES_MODIS=5.75,13.5,
93+
SWATH_WIDTHS_MODIS=2000,2000,
94+
N_SWATHS_CSCAL=2,
95+
SWATH_LOCALTIMES_CSCAL=6.75,19.25,
96+
SWATH_WIDTHS_CSCAL=2000,2000,
97+
N_SWATHS_PARASOL=2,
98+
SWATH_LOCALTIMES_PARASOL=6.75,19,
99+
SWATH_WIDTHS_PARASOL=2000,2000,
100+
N_SWATHS_ATLID=2,
101+
SWATH_LOCALTIMES_ATLID=7.25,19.5,
102+
SWATH_WIDTHS_ATLID=2000,2000,
103+
!----------------------------------------------------------------------------------
104+
!-------------- RTTOV inputs
105+
!----------------------------------------------------------------------------------
106+
! rttov_Ninstruments=1,
107+
! rttov_instrument_namelists='instrument_nls/cosp2_rttov_inst1.txt',
108+
rttov_verbose=.false.
109+
/

0 commit comments

Comments
 (0)