New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
README.rst in NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF – NEMO

source: NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/tests/STATION_ASF/README.rst @ 13781

Last change on this file since 13781 was 13781, checked in by laurent, 4 years ago

Improvements diags and doc for STATION_ASF

File size: 7.1 KB
Line 
1*Station Air-Sea Fluxes* demonstration case
2===========================================
3
4Last successful test done with NEMOGCM trunk: ``r13263``
5
6Author: Laurent Brodeau, 2020
7
8NOTE: if working with the trunk of NEMO, you are strongly advised to use
9the same test-case but on the ``NEMO-examples`` GitHub depo:
10`https://github.com/NEMO-ocean/NEMO-examples/tree/master/STATION_ASF <https://github.com/NEMO-ocean/NEMO-examples/tree/master/STATION_ASF>`__
11
12Objectives
13----------
14
15``STATION_ASF`` is a demonstration test-case that mimics a (static)
16in-situ station (buoy, platform) dedicated to the estimation of surface
17air-sea fluxes by means of *widely-measured* (bulk) meteorological
18surface parameters.
19
20``STATION_ASF`` has been constructed by merging the *single column* and
21the *standalone surface module* configurations of NEMO. In short, it can
22be defined as "SAS meets C1D". As such, the spatial domain of
23``STATION_ASF`` is punctual (1D, well actually 3 x 3 as in C1D).
24
25``STATION_ASF`` is therefore a versatile tool, and extremely lightweight
26in terms of computing requirements, to test the different bulk
27algorithms and cool-skin/warm-layer parameterization options included in
28NEMO.
29
30As input ``STATION_ASF`` will require the traditional *bulk* sea surface
31parameters:
32
33-  Bulk sea surface temperature (SST) at *zSST* meters below the surface
34-  Surface current vector
35-  Sea surface salinity
36
37as well as the usual surface atmospheric state:
38
39-  air temperature at *zt* meters above the surface
40-  air humidity at *zt* meters above the surface (specific humidity or
41   relative humidity or dew-point temperature)
42-  wind speed vector at *zu* meters above the surface
43-  Sea level atmospheric pressure (SLP)
44-  Downwelling solar radiation
45-  Downwelling longwave radiation
46
47Example of diagnostics from ``STATION_ASF``
48~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
50(Generated with script ``./EXPREF/plot_station_asf_simple.py``)
51
52|plot|
53
54|plot|
55
56|plot|
57
58|plot|
59
60Physical description
61--------------------
62
63Important namelist parameters specific to STATION_ASF
64~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65
66-  ``rn_dept1@namusr_def:`` depth (m) at which the prescribed SST is
67   taken (*i.e.* depth of first T-point); important due to impact on
68   warm-layer estimate, the deeper, the more pronounced!
69
70-  ``rn_lat1d,rn_lon1d@namc1d:`` fixed coordinates of the location of
71   the station (buoy, platform, etc).
72
73-  ``namsbc_blk:`` to be filled carefully, just as for "C1D", the
74   prescribed surface ATMOSPHERIC state (files) are time series of shape
75   3x3 in space
76
77-  ``namsbc_sas:`` to be filled carefully, just as for "C1D", the
78   prescribed surface OCEAN state (files) are time series of shape 3x3
79   in space
80
81Input files to test STATION ASF
82-------------------------------
83
84One full year (2018) of processed hourly data from the PAPA station
85(buoy) is found into the ``input_data`` directory. These three files are
86everything you need to play with the set of *namelists* provided for
87this test-case.
88
89-  ``Station_PAPA_50N-145W_atm_hourly_y2018.nc`` → contains hourly
90   surface atmospheric state
91-  ``Station_PAPA_50N-145W_precip_daily_y2018.nc`` → contains daily
92   precipitation
93-  ``Station_PAPA_50N-145W_oce_hourly_y2018.nc`` → contains hourly sea
94   surface state
95
96For station PAPA (50.1 N, 144.9 W), air temperature and humidity are
97measured at 2.5 m, the wind speed at 4 m, and the SST at 1 m below the
98surface, hence the following namelist parameters are given:
99
100-  ``&namusr_def``
101
102   -  ``rn_dept1 =    1.``
103
104-  ``&namc1d``
105
106   -  ``rn_lat1d =  50.1``
107   -  ``rn_lon1d = 215.1``
108
109-  ``&namsbc_blk``
110
111   -  ``rn_zqt   =   2.5``
112   -  ``rn_zu    =    4.``
113
114Testing the sanity of the SBCBLK (bulk atmospheric forcing) interface of NEMO
115-----------------------------------------------------------------------------
116
117``STATION_ASF`` can be used to perform a sanity test of the SBCBLK
118interface of NEMO. It will test all the bulk-parameterization algorithms
119using an idealized forcing that includes a wide range of *SSX / surface
120atmospheric state* conditions to detect potential error /
121inconsitencies. Both a short report and boolean output: *passed* or
122*failed* is provided as an output.
123
124First compile the ``STATION_ASF`` test-case as follows (compile with
125xios-2.5 support → check your ARCH file):
126
127``./makenemo -a STATION_ASF -m <your_arch> -n STATION_ASF2 -j 4``
128
129(successfull compilation generates
130``tests/STATION_ASF2/BLD/bin/nemo.exe``
131
132Move to: ``tests/STATION_ASF/EXPREF/``
133
134There, in script ``sanity_check_SBCBLK.sh``, double check that the
135variables given a value in the first lines are consistent with your
136setup (it should).
137
138Launch the script:
139
140::
141
142   $ ./sanity_check_SBCBLK.sh
143
144The report is both interactively shown in the standard output and
145spwaned in the report file:
146
147-  ``SBCBLK.success`` the test passed :)
148-  ``SBCBLK.fail`` the test failed :(
149
150In case of failure, read the rapport to know which algorithm/computed
151variables did not pass the test... You should also re-run the script
152``sanity_check_SBCBLK.sh`` with the "more" argument:
153
154::
155
156   $ ./sanity_check_SBCBLK.sh more
157
158This will generate more output such as figure of time series for the
159tested variables.
160
161Dependencies
162~~~~~~~~~~~~
163
164In order for the python script ``analyze_output.py`` to work, you need
165``Python 3`` with the following modules:
166
167-  numpy
168-  netCDF4
169-  (matplotlib)
170
171Playing with STATION_ASF
172------------------------
173
174First compile the test-case as follows (compile with xios-2.5 support →
175check your ARCH file):
176
177``./makenemo -a STATION_ASF -m <your_arch> -n STATION_ASF2 -j 4``
178
179Move to: ``tests/STATION_ASF/EXPREF/``
180
181to launch 3 simulations (one for each bulk parameterization available).
182You need to adapt the following variable to your environment in the
183script:
184
185-  ``NEMO_ROOT_DIR`` : NEMO root directory where to fetch compiled
186   STATION_ASF ``nemo.exe`` + setup (such as
187   ``${NEMO_ROOT_DIR}/tests/STATION_ASF``)
188
189-  ``PROD_DIR`` : Directory where to run the simulation
190
191-  ``DATA_IN_DIR`` : Directory containing sea-surface + atmospheric
192   forcings (found here in ``input_data/``)
193
194If everything goes according to plan, ``launch_sasf.sh`` should have
195generated the 3 following sets of output files into
196``${PROD_DIR}/output``:
197
198::
199
200   STATION_ASF-COARE3p6_1h_20180101_20181231_gridT.nc
201   STATION_ASF-COARE3p6_1h_20180101_20181231_gridU.nc
202   STATION_ASF-COARE3p6_1h_20180101_20181231_gridV.nc
203   STATION_ASF-ECMWF_1h_20180101_20181231_gridT.nc
204   STATION_ASF-ECMWF_1h_20180101_20181231_gridU.nc
205   STATION_ASF-ECMWF_1h_20180101_20181231_gridV.nc
206   STATION_ASF-NCAR_1h_20180101_20181231_gridT.nc
207   STATION_ASF-NCAR_1h_20180101_20181231_gridU.nc
208   STATION_ASF-NCAR_1h_20180101_20181231_gridV.nc
209
210--------------
211
212*/Laurent, July 2020.*
213
214.. |plot| image:: https://github.com/NEMO-ocean/NEMO-examples/blob/master/STATION_ASF/figs/01_temperatures_ECMWF.svg
215.. |plot| image:: https://github.com/NEMO-ocean/NEMO-examples/blob/master/STATION_ASF/figs/Cd.svg
216.. |plot| image:: https://github.com/NEMO-ocean/NEMO-examples/blob/master/STATION_ASF/figs/dT_skin.svg
217.. |plot| image:: https://github.com/NEMO-ocean/NEMO-examples/blob/master/STATION_ASF/figs/Qlat.svg
218
Note: See TracBrowser for help on using the repository browser.