= Name and subject of the action Last edition: '''[[Wikinfo(changed_ts)]]''' by '''[[Wikinfo(changed_by)]]''' The PI is responsible to closely follow the progress of the action, and especially to contact NEMO project manager if the delay on preview (or review) are longer than the 2 weeks expected. [[PageOutline(2, , inline)]] == Summary ||=Action || AGRIF-05_rblod_CMEMS || ||=PI(S) || Rachid Benshila || ||=Digest || Import developments from CMEMS AGRIF project || ||=Dependencies || #2222 || ||=Branch || source:/NEMO/branches/2020/dev_r12973_AGRIF_CMEMS || ||=Previewer(s) || J. Chanut || ||=Reviewer(s) || Names || ||=Ticket || #2129 || === Description This corresponds to the code produced during CMEMS AGRIF project (which ends in late 2020). \\ Expected outcomes. They correspond to a CMEMS call to improve Agrif capabilities for global configurations. Details will be found in corresponding project reports. * New nesting tools base on ''domaincfg'' : the idea there is to modify ''domaincfg'' package to use it as nesting tools. The routines will be "Agrifed", and when compiled with key_agrif, the code will read an AgrifFixedGrid.in file and use Agrif Library to go through the grid hierarchy and interpolate the meshes. Bathymetry interpolation when an external database is provided will use the same interpolations than in the former nesting tools. When not provided, interpolating the parent bathymetry is possible. Yhe bathymetry connection is also handled recursively. Creating grid and bathymetry is the only functionality which is provided. The new nesting tools support the additional capabilities below. * Allow zooms with cyclic and North Fold conditions * make a zoom at north fold * make a zoom through the east-west grid separation * make an east-west zoom totally periodic * Improve parallelisation and load balancing (phase II) * Those three items imply to provide a new AGRIF library === Implementation For know (June the 4th), we list here what is underway, tricky and the potential issues, details will be in project reports. The first version of the branch adresses points 1,2 and 4 in the list above * domaincfg * to use it as nesting tools, it is compiled with key_agrif. To do so, a makefile is provided for know. Maketools has still to be modified to use NEMO logic. * it has now an Agrif-like structure (agrif_user routine and so) * we provide an agrifFixed.in_cmems file with 3 examples for new capabilities. * without Agrif, it should provide the result as before but this has to be checked * still cleaning and cosmetics to do * it should be able (with or without agrif) to work in MPI but not tested yet * a small python script is provided to generate namelists on a hierarchy of grids * new flags in the namelist : {{{ &namdom ! nn_bathy = 1 ! compute analyticaly (=0) or read (=1) the bathymetry file ! or compute (2) from external bathymetry ! with agrif, if 1 for the child grids, interpolate from parent nn_interp = 1 ! type of interpolation (nn_bathy =2). With external source : 0 :average, 1 median, 2 bilinear cn_topo = 'bathymetry_ORCA12_V3.3.nc' ! external topo file (nn_bathy =2) cn_bath = 'Bathymetry' ! topo name in file (nn_bathy =2) cn_lon = 'nav_lon' ! lon name in file (nn_bathy =2) cn_lat = 'nav_lat' ! lat name in file (nn_bathy =2) rn_scale = 1 ! scale facto for input bathymetry data ! }}} {{{ &namagrif ! AGRIF zoom ("key_agrif") ! ln_bry_south = .TRUE. ! F : no south boudary antarctic) }}} * weights * Minor changes to read the input namelist as an argument. * python script to loop on a hierachy of grids * NEMO sources * some changes in NST routines (mainluy agrif_user) and reorganisation of initialisation phase * user can provide is own mapping functionality in agrif_user * initialisation has to be done at the very beginning so agrif_nemo_init is called in mppini * agrif_declare_var_dom is renamed agrif_declare_var_ini and is used to declare value for grid and initial state * agrif_Init_domain (former Agrif_InitValues_cont_dom) is called at the end of dom_init. * interpolation of initial state is done on the fly using agrif_init. New profiles are introduced and we try to use existing procname. It has still to be checked for 3D filed which are using vertical remapping capabilities * new namelist parameter {{{ &namagrif ! AGRIF zoom ("key_agrif") ! ln_bry_south = .TRUE. ! F : no south boudary antarctic) }}} * modification to review not related to the project : * to pass debug phase, global ALLOCATABLE arrays of CHARACTER are of length ''lca'' (defined in parkind.F90) , corresponding in the length of the characters in AGRIF library. Happens in lib_mpp.F90, diaobs.F90,stopar.F90 * floblk is bypass for now using key_agrif since the conv fails on GOTO instruction === Documentation updates {{{#!box width=55em help Using previous parts, define the main changes to be done in the NEMO literature (manuals, guide, web pages, …). }}} ''...'' == Preview {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#preview_)]] }}} ''...'' == Tests {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#tests)]] }}} ''...'' == Review {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#review)]] }}} ''...''