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.
2009WP/Release_v3.2 (diff) – NEMO

Changes between Version 51 and Version 52 of 2009WP/Release_v3.2


Ignore:
Timestamp:
2009-11-24T16:46:35+01:00 (14 years ago)
Author:
rblod
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2009WP/Release_v3.2

    v51 v52  
    1010 - Cleaning of lib_mpp 
    1111 
     12        SHMEM option has been removed 
     13        north fold treatment is now done once for all in a new routine lbcnfd.F909 instead of being duplicated 
     14        suppression of routines related to islands treatment (rigid lid 
     15 
     16- suppression of redundant east-west communication phase (ORCA grid case) 
     17 
    1218 - IOM for the output 
    1319 
     20Purposes : 
     21-       add flexibility for outputs 
     22-       eventually use dedicated processors for output 
     23       Using histwrite is still the default behaviour for safety. Nevertheless, iom_put can be activated with the cpp_key key_iomput and should become the default (only) in the future. 
     24 Iom_put  allows to distribute and add desired  output fields  everywhere in the code without specific declaration in diawri : 
     25Ex : CALL iom_put( "ssh" , sshn ) in sshwzv 
     26It is based on : 
     27-       a XML-F90 parser, svn  co http://forge.ipsl.jussieu.fr/ioserver/svn/XMLF90 
     28-       an additional library svn co http://forge.ipsl.jussieu.fr/ioserver/svn/XMLIO_SERVER 
     29When using modipsl environment, they are extracting automatically with NEMO. Both are delivered under  GPL licence but not under the responsibility of the NEMO team. 
     30Actually two levels of functionalities are available : 
     311-      Just use iom_put to output the variable easily 
     322-      Use in addition   dedicated processors for output (server mode), then an additional executable is needed 
     33At execution time, when key_iomput has been activated, two additional files are required  (and provided with the standard configuration): 
     34-       xmlio_server.def : a namelist to define if we are in server mode or not 
     35-       iodef.xml : an xml file to be completed with precision  on the variable called by iom_put in nemo (name for output, frequency, file)  
     36In server mode only, user has to define a mpi configuration file  (for instance mpi.conf) looking like: 
     37-p 10 -e ./opa                                 <-------- means 10 cpu for opa 
     38-p 2-e ./ioserver                           <--------- means 2 cpu for IO 
     39Then mpirun –f mpi.conf 
     40IOM for output has been implemented in OPA, TOP, LIM3 and LIM3,  it is tested in NVTK, it is currently not compatible with AGRIF (key_agrif) and not implemented in diaptr. 
     41 
     42As a consequence of the code reorganisation, average of output fields have been shift of one time step, for instance with nwrite=5, nit000=1, nitend=10 : 
     43Nemo_v3.1: 
     44    *-----*-----*-----*-----*-----*-----*-----*-----*-----*-----* 
     45 
     46 
     47Nemo_v3.2 : 
     48*-----*-----*-----*-----*-----*-----*-----*-----*-----*-----* 
     49 
     50 
     51 
    1452 - achievement of the coupled interface 
    1553 
    1654 - VVL reactivation 
     55 
     56        correct bugs and missing calls for variable volume 
     57        revisit free-surface time-splitting algorithm to reach stability and satisfying results 
     58       have vvl option available for all type of coordinates (z, zps, s) 
     59This part has induced a full restructuration of the code (even when not using vvl option) , since we made the choice to compute the ssh at the beginning of each time step (from continuity equation), instead of deducing it immediately from barotropic contribution as it was done before (dynspg_* routines). As a consequence, ssh should not be corrected in the rest of the code, which is a bit doubtful for obc and agrif cases (key_obc or key_agrif). 
     60 
     61Repartition on the whole water column, so key_sigma_vll has been suppressed. Reference coordinate is referred as e3t_0 for instance, and pre-processing (in domzgr_substitute.h90) is used to define before, now, after scale factors, for instance : 
     62 
     63# define fsdept_n(i,j,k) (fsdept_0(i,j,k)*(1+sshn(i,j)*mut(i,j,k))) 
     64For use of vvl, we introduced, time varying scale factors(_b,_n_a). Without vvl, we have obviously : fse3t_a = fse3t_n = fse3t_b = fse3t 
     65When using vvl, it would be more consistent to use exactly corresponding scale factors (for instance before for diffusion). It has been done only vertical diffusion for tracers at this time.  
     66Time stepping routines (tranxt and dynnxt) have been modified to work either on vertically averaged values in vvl case. 
     67Regarding the time-splitting algorithm : 
     68- for stability reason, we came back to an average on 2 time steps (2*nn_baro) 
     69- because of vvl, we are now computing velocities instead of transport. BDY routines have been changed in consequence, OBC not. 
     70It has been tested with bdy (zps*) and on global ORCA025 configuration.  
     71VVL restartability is not ensured. 
     72 
    1773 
    1874 - Improved time-stepping achitecture