Configuration peru12_nemo

Nemo, Xios et scripts de lancement



  1. Nemo
    1. Maketools REBUILD
    2. Maketools WEIGHTS
  2. Coordonnées géographiques (python)
  3. Xios
  4. Scripts de lancement
    1. Scripts: changer de pas de temps en cours d'expérience
  5. Outils Pulsation

Nemo

https://forge.ipsl.jussieu.fr/little_nemo

svn checkout svn+ssh://cholod@forge.ipsl.jussieu.fr/ipsl/forge/projets/little_nemo/svn/trunk little_NEMO_trunk

https://forge.ipsl.jussieu.fr/nemo

svn checkout svn+ssh://cholod@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk NEMO_trunk

Maketools REBUILD

cd NEMO/little_NEMO/NEMOGCM/TOOLS ./maketools -n REBUILD -m X64_CURIE export PATH=${PATH}:${WORKDIR}/sources/little_NEMO/NEMOGCM/TOOLS/REBUILD ./maketools -n REBUILD_NEMO -m X64_CURIE # version Anglaise plus rapide mais moins sure? export PATH=${PATH}:${WORKDIR}/sources/little_NEMO/NEMOGCM/TOOLS/REBUILD_NEMO rebuild -o erai20c_1d_19890101_19890131_grid_V.nc erai20c_1d_19890101_19890131_grid_V_????.nc rebuild_nemo erai20c_1d_19890101_19890131_grid_V 64 rebuild_nemo -t 4 erai20c_1d_19890101_19890131_grid_U 64

Maketools WEIGHTS

cd NEMO/little_NEMO/NEMOGCM/TOOLS ./maketools -n WEIGHTS -m X64_CURIE export PATH=${PATH}:${WORKDIR}/sources/little_NEMO/NEMOGCM/TOOLS/WEIGHTS fonctionnement: cf NEMOGCM/TOOLS/WEIGHTS/README Il faut un fichier de forçage qui donne la grille et un fichier coordinates de nemo Editer la namelist namelist_quikscat_peru12_bicub !!! ATTENTION : problème de la longueur de chaine de caractères input_file = '/ccc/scratch/cont005/ra0542/hourdinc/data/quikscat/quikscat_1d_20000701_20001231_filled.nc' nemo_file = '/ccc/scratch/cont005/ra0542/hourdinc/peru12_nemo/inputs/Stephane/PERU12-I/coordinates_PERU12.nc' Privilégier de ramener les fichiers sur place avec: input_file = './quikscat_1d_20000701_20001231_filled.nc' nemo_file = './coordinates_PERU12.nc' cd NEMOGCM/TOOLS/WEIGHTS/peru12 ../scripgrid.exe namelist_quikscat_peru12_bicub (creates remap_peru12_grid.nc et remap_quikscat_grid.nc) ../scrip.exe namelist_quikscat_peru12_bicub (creates quikscat_peru12_bicub.nc) ../scripshape.exe namelist_quikscat_peru12_bicub (creates weights_quikscat_peru12_bicub.nc)

Coordonnées géographiques (python)

sur curie: Anneau tropical : NEMO: file='/ccc/work/cont005/ra0542/massons/now/input/nemo_trop075/mesh_mask_TROP075.nc' file='/ccc/work/cont005/ra0542/massons/now/input/nemo_trop025/mesh_mask_TROP025.nc' file='/ccc/work/cont005/ra0542/massons/now/input/nemo_trop12/mesh_mask_TROP12.nc' WRF: file='/ccc/work/cont005/ra0542/massons/now/input/wrf_trop075l60/geo_em.d01.nc' file='/ccc/work/cont005/ra0542/massons/now/input/wrf_trop025l60/geo_em.d01.nc' file='/ccc/work/cont005/ra0542/massons/now/input/wrf_trop12l60/geo_em.d01.nc' Peru: file='/ccc/work/cont005/ra0542/hourdinc/peru12_nemo/inputs/grd/mesh_mask_p12n_bdy_soda3.nc' file='/ccc/scratch/cont005/ra0542/hourdinc/trop075_nemo/peru/inputs/mesh_mask_TROP075.nc' file='/ccc/scratch/cont005/ra0542/hourdinc/trop025_nemo/peru/inputs/mesh_mask_TROP025.nc' sur ciclad: Peru: file='/loceanfs/pulsation/cholod/peru12_nemo/inputs/grd/mesh_mask_p12n_bdy_soda3.nc' nc=netcdf(file,'r'); =========== Lon,Lat grid T ============== NEMO: glamt=nc.variables['glamt'][0,0,:]; gphit=nc.variables['gphit'][0,:,0]; for ii in range(glamt.shape[0]) : print 'lon T [',ii,']', glamt[ii]; for ii in range(gphit.shape[0]) : print 'lat T [',ii,']', gphit[ii]; WRF: XLONG_M=nc.variables['XLONG_M'][0,0,:]; XLAT_M=nc.variables['XLAT_M'][0,:,0]; for ii in range(XLONG_M.shape[0]) : print 'lon T [',ii,']', XLONG_M[ii]; for ii in range(XLAT_M.shape[0]) : print 'lat T [',ii,']', XLAT_M[ii]; =========== Lon,Lat grid U ============== glamu=nc.variables['glamu'][0,0,:]; gphiu=nc.variables['gphiu'][0,:,0]; for ii in range(glamu.shape[0]) : print 'lon U [',ii,']', glamu[ii]; for ii in range(gphiu.shape[0]) : print 'lat U [',ii,']', gphiu[ii]; =========== Lon,Lat grid V ============== glamv=nc.variables['glamv'][0,0,:]; gphiv=nc.variables['gphiv'][0,:,0]; for ii in range(glamv.shape[0]) : print 'lon V [',ii,']', glamv[ii]; for ii in range(gphiv.shape[0]) : print 'lat V [',ii,']', gphiv[ii]; =========== Depth T_0 ============== depth=nc.variables['gdept_0'][0,:]; for ii in range(depth.shape[0]) : print ii, depth[ii]; LATITUDE AUTOUR DE L'EQUATEUR: (correspondance entre 075, 025 et 12eme) 075: 63 -4.49538 64 -3.74733 65 -2.99863 66 -2.24942 67 -1.49983 68 -0.749979 69 0.0 70 0.749979 71 1.49983 72 2.24942 73 2.99863 74 3.74733 75 4.49538 025: 190 -4.49538 193 -3.74733 196 -2.99863 199 -2.24942 202 -1.49983 205 -0.749979 208 0.0 211 0.749979 214 1.49983 217 2.24942 220 2.99863 223 3.74733 226 4.49538 12eme: 570 -4.49538 579 -3.74733 588 -2.99863 597 -2.24942 606 -1.49983 615 -0.749979 624 0.0 633 0.749979 642 1.49983 651 2.24942 660 2.99863 669 3.74733 678 4.49538

Xios

Xios dans Nemo :documentation

https://forge.ipsl.jussieu.fr/ioserver

svn http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS svn co -r 448 http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS_r448

cd XIOS make_xios -h make_xios --arch X64_CURIE --job 8 --prod --full --netcdf4_internal 2>&1  | tee listing_XIOS_prod.txt make_xios --arch X64_ADA --job 8 --prod --full --netcdf4_internal 2>&1  | tee listing_XIOS_prod.txt

We must have buffer_size > jpi*jpj*jpk*8*3 (with jpi and jpj the subdomain size) Pour peru12_nemo: ~ 27*58*75 *8*3 = 3 Mo

Scripts de lancement

https://forge.ipsl.jussieu.fr/mentor

svn checkout svn+ssh://cholod@forge.ipsl.jussieu.fr/ipsl/forge/projets/mentor/svn/trunk/little_NEMO/exp/exp02 erai64c

Scripts: changer de pas de temps en cours d'expérience

Il suffit de mettre date_debut_exp=date_debut_job  =>   nit_0000=1 et tout le reste OK...

On peut laisser time_origine à la même date.  (le nombre de pdt de time_origine jusque là n'est plus cohérent avec la date du début d'expérience réel, mais l'indication de la date de début reste valable.
<context id="nemo"    time_origin="1990-01-01 00:00:00">

ln_rst=0  (puis remettre normal des que le job est passé pour que le suivant reprenne le processus normal)

LEVITUS=0  poour repartir des restarts même si date_deb_job  = date_deb_exp  (puis remettre à 1 pour si on recupere les scripts pour une autre expérience, on parte bien  de levitus et non du restart indiqué dans getrst_oce.sh)


Outils Pulsation

https://forge.ipsl.jussieu.fr/pulsation

svn checkout svn+ssh://cholod@forge.ipsl.jussieu.fr/ipsl/forge/projets/pulsation/svn/trunk pulsation