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 @ 13806

Last change on this file since 13806 was 13806, checked in by laurent, 3 years ago

Various improvements and cleaning + keep up with "r13801" of the trunk.

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