NWECHKEVO

Introduction

The new utility NWECHKEVO was introduced in order to make the generation of diagnostics for the study of spin-up in dynamics effects more efficient. The utility CHKEVO turned out to slow down the forecast run to unpractical times. NWECHKEVO produces timeseries for the variables log(Ps), horiz. vorticity, horiz. divergence, vertical divergence, pressure departure and temperature for the first 180 timesteps of integration at timestep resolution. These timeseries are produced at selected points within the domain and at all levels for the last upper-air five variables (HVor, HDiv, VDiv, PD and T).

Preparations. NAMCHK namelist

The user must select a list of points at which locations he wants the diagnostics to be generated. The coordinates are given in GPx and GPy coordinates, not geographical coordinates. These co-ordinates are then introduced in the namelist NAMCHK as in the following example

NAMCHK=>{
  'NGPCHK' => '17,',
  'NXCHK(1:17)' => '263,335,447,525,606,390,420,540,644,333,509,329,388,480,266,259,271,',
  'NYCHK(1:17)' => '462,472,469,398,388,406,325,284,300,293,243,215,167,178,358,279,200,',
 },

NB: These points correspond to the locations of 17 different weather radars in the domain

'IBERIAxxm_2.5'=>{
      'TSTEP'  => '60',
      'NLON'   => '800',
      'NLAT'   => '648',
      'LONC'   => '-4.5',
      'LATC'   => '40.0',
      'LON0'   => '-4.5',
      'LAT0'   => '40.0',
      'GSIZE'  => '2500.',
   },

The default value for LNWECHKEVO is set to FALSE in suechk.F90. To enable this option, set LNWECHKEVO=.TRUE in ecf/config_exp.h. This isetting will be carried over to scr/Forecast at the time of namelist_forecast specification. NWECHKEVO takes priority over ECHKEVO, that is, when LNWECHKEVO=.TRUE., LECHKEVO is set to FALSE no matter what is specified at the namelist level ( awarning message will appear in the logs). This is so in order to avoid conflicts between the previous and the new utilities. If the user wants the previous method just activate LECHKEVO and make sure not to activate LNWECHKEVO.

Important Info

NWECHKEVO speeds up the generation of diagnostics by minimizing MPI overhead. During the set-up, it is determined which MPI-task processes each point igiven via NAMCHK. The internal arrays that contain this info are given a size such that no more than 10 points can be handled by each MPI-task. Therefore, when running with a small number of MPI-tasks it is possible that some of the points in NAMCHK are ignored. This situation however is very unlikely because the usual number of MPI-tasks is quite big. Nonetheless, the parameter NWJPGPCHK (in module YOMCHK) can be given a bigger value if necessary.

Modifications in scr/Forecast

For ease of use, NWECHKEVO dumps the results in text format to the standard output ( /NODE* files ). The size of these files remains managable unless the number of points in NAMCHK is very big. As the diagnostics are generated avoiding MPI comms., the standard output for all tasks must be activated by using the NOUTPUT parameter in NAMPAR0. This is reason why scr/Forecast must be modified.

Results

The results can be easily obtained by grepping out from the NODEs files. First , in order to know which NODE file contains a given point we can do on NODE.001_01

grep SETUPNEWECHKEVO NODE.001_01

obtaining a table like this

SETUPNEWECHKEVO: JPROC          120  ISETA=           8  ISETB=           8  ISETW=           8  ISETV=           8
SETUPNEWECHKEVO: IGP=          13  (nychk,nxchk)=         167         388  CC in chunk=         1032
SETUPNEWECHKEVO: JPROC          138  ISETA=           9  ISETB=          10  ISETW=           9  ISETV=          10
SETUPNEWECHKEVO: IGP=          14  (nychk,nxchk)=         178         480  CC in chunk=          527

which indicates that GP number 13 (co-ordinates 167,388) on the NAMCHK is allocated to MPI-task 120. The point has ordinate number 1032 within the domain chunk assigned to this MPI-task. It outputs to NODE.008_08

Once we know the NODE file for this GP, we grep out again the results. For PS

grep NWECHKEVO:PS NODE.008_08

NWECHKEVO:PS 13 000   0.11505382282124E+02   0.99248519555856E+05
NWECHKEVO:PS 13 001   0.11505380867601E+02   0.99248379166582E+05
NWECHKEVO:PS 13 002   0.11505354069965E+02   0.99245719580317E+05
NWECHKEVO:PS 13 003   0.11505387331977E+02   0.99249020747545E+05
NWECHKEVO:PS 13 004   0.11505409155285E+02   0.99251186713122E+05
NWECHKEVO:PS 13 005   0.11505330599600E+02   0.99243390274322E+05
NWECHKEVO:PS 13 006   0.11505214514108E+02   0.99231870225232E+05
NWECHKEVO:PS 13 007   0.11505186261496E+02   0.99229066705312E+05
NWECHKEVO:PS 13 008   0.11505301938506E+02   0.99240545891039E+05
NWECHKEVO:PS 13 009   0.11505222637195E+02   0.99232676297636E+05
NWECHKEVO:PS 13 010   0.11505173119706E+02   0.99227762666337E+05

the second column is the GP number, the third the time step, the fourth is log(Ps) and the fith is fo Ps (Pa)

For the upper-air variables we do

grep 'NWECHKEVO:UA 13' NODE.008_08

NWECHKEVO:UA 13 000 001   0.14364086697030E-04  -0.50805426278410E-05   0.22599560795742E+03   0.00000000000000E+00   0.80040376159261E-07
NWECHKEVO:UA 13 000 002   0.33741231171738E-05   0.97134353537265E-05   0.21290057631960E+03   0.00000000000000E+00   0.29001061928223E-06
NWECHKEVO:UA 13 000 003   0.69003223306262E-05  -0.10070828988605E-04   0.21384249855800E+03   0.00000000000000E+00   0.47109613483406E-06
NWECHKEVO:UA 13 000 004  -0.30497765593290E-06   0.82334865627784E-05   0.21374844679188E+03   0.00000000000000E+00  -0.26145222191521E-06
NWECHKEVO:UA 13 000 005   0.26070697062412E-04  -0.12291493034515E-04   0.21545103834209E+03   0.00000000000000E+00   0.39088530137662E-05
NWECHKEVO:UA 13 000 006   0.15371311363862E-04   0.52048057489868E-05   0.21791733622236E+03   0.00000000000000E+00   0.81362351433664E-05
NWECHKEVO:UA 13 000 007   0.51032970986510E-04  -0.13111824709755E-04   0.22004808804352E+03   0.00000000000000E+00   0.15756687491581E-04
NWECHKEVO:UA 13 000 008  -0.19648225032526E-04  -0.10918787276801E-04   0.22163556827039E+03   0.00000000000000E+00   0.64289394144994E-05
NWECHKEVO:UA 13 000 009  -0.17176145579185E-05   0.45899398495276E-04   0.22275608584458E+03   0.00000000000000E+00  -0.10037800019117E-04
....
NWECHKEVO:UA 13 000 056   0.13986028555310E-02  -0.66909930879866E-03   0.28628543762220E+03   0.00000000000000E+00   0.54829685721891E-03
NWECHKEVO:UA 13 000 057   0.14038615170298E-02  -0.75779689206785E-03   0.28663735655175E+03   0.00000000000000E+00   0.59806781225837E-03
NWECHKEVO:UA 13 000 058   0.13261896477891E-02  -0.74616001898282E-03   0.28698938510509E+03   0.00000000000000E+00   0.49588753382099E-03
NWECHKEVO:UA 13 000 059   0.14489950905375E-02  -0.74227210464472E-03   0.28734520941903E+03   0.00000000000000E+00   0.27710629383431E-03
NWECHKEVO:UA 13 000 060   0.17744491137974E-02  -0.61965914425958E-03   0.28761932093752E+03   0.00000000000000E+00   0.40814002634823E-03
NWECHKEVO:UA 13 000 061   0.19899360944093E-02  -0.54623343124852E-03   0.28790566719217E+03   0.00000000000000E+00   0.47915020836391E-03
NWECHKEVO:UA 13 000 062   0.23402553668209E-02  -0.78436980306753E-03   0.28827960078154E+03   0.00000000000000E+00   0.37896218758797E-03
NWECHKEVO:UA 13 000 063   0.20467568555637E-02  -0.11207508904165E-02   0.28854880261461E+03   0.00000000000000E+00   0.46291124700252E-03
NWECHKEVO:UA 13 000 064   0.16656728750091E-02  -0.10495856132860E-02   0.28883596008959E+03   0.00000000000000E+00   0.25911350987737E-03
NWECHKEVO:UA 13 000 065   0.14631444722784E-02  -0.94533311737612E-03   0.28903858779818E+03   0.00000000000000E+00   0.64914638106075E-05

which gives at timestep 0 ( third col.) the profile (model level is fourth column) for HVor(s-1), Hdiv (s-1), T (K), PD (Pa for NPDVAR=2) and VD (units depend on NVDVAR definition)

Consecutive timesteps follow

NWECHKEVO:UA 13 001 001   0.14391950814966E-04  -0.10126750142077E-04   0.22601300427477E+03   0.26233794693211E-05   0.13011272170719E-05
NWECHKEVO:UA 13 001 002   0.35975280461999E-05   0.30191811529161E-05   0.21293465156805E+03  -0.29989147375432E-04   0.10063954562282E-06
NWECHKEVO:UA 13 001 003   0.79264193785264E-05  -0.15031046611816E-04   0.21385134119954E+03  -0.33856415073342E-04   0.42661347477312E-05
NWECHKEVO:UA 13 001 004   0.21090675053822E-05   0.31713133370971E-05   0.21377935010403E+03  -0.40445121858208E-04  -0.54989449665528E-05
NWECHKEVO:UA 13 001 005   0.30451493480920E-04  -0.18284403001908E-04   0.21545646796919E+03  -0.42130887042681E-04   0.14684047934687E-04
....

up to timestep 180 (hard-coded,the first 3 hours if timestep 1 minute)

Plotting

The results are easily plotted with any graphs utility (e.g. gnuplot)