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.
ticket/0846 (diff) – NEMO

Changes between Version 7 and Version 8 of ticket/0846


Ignore:
Timestamp:
2011-09-12T15:23:27+02:00 (13 years ago)
Author:
cetlod
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ticket/0846

    v7 v8  
    276276}}} 
    277277 
    278 Christian's comments 
     278 
     279========= Christian's comments  ========= 
    279280 
    280281The NEMO architecture ( with the use of FCM to build dependancies ), allow to rewrite a routine without needing to change anything. In that case, we can use the MY_TRC framework to manage every type of biogeochemical model. 
    281282 
    282 In fact, when compiling with makenemo ( for example : ./makenemo -n ORCA2_LIM_MY_TRC -r ORCA2_LIM_PISCES del_key "key_iomput key_pisces" add_key "key_my_trc"), a sub-directory where we can copy and modify all the routines we need is created : NEMOGCM/CONFIG/ORCA2_LIM_MY_TRC/MY_SRC  
    283  
    284  * trcini.F90 
    285  * trcstp.F90 
    286  * trcdia.F90 
    287  * trctrp.F90 
    288  * MY_TRC/* 
    289  
    290 To go a little further we can add a new namelits parameter ln_nemo_io which is true if we want to use NEMO I/O manager and false if not. So we can modify the 2 modules trcini.F90 and trcstp.F90 as follow : 
     283In fact, when compiling with makenemo ( for example : ./makenemo -n ORCA2_LIM_MY_TRC -r ORCA2_LIM_PISCES del_key "key_iomput key_pisces" add_key "key_my_trc"), a sub-directory where one can copy and modify all the routines we need is created : NEMOGCM/CONFIG/ORCA2_LIM_MY_TRC/MY_SRC. One can then copy the listed routines and modify them according to our convenience   
     284 
     285 * TOP_SRC/trcini.F90 
     286 * TOP_SRC/trcstp.F90 
     287 * TOP_SRC/trcdia.F90 
     288 * TOP_SRC/TRP/trctrp.F90 
     289 * TOP_SRC/MY_TRC/* 
     290 
     291 
     292To go a little further - this is another proposition - we can add a new namelist parameter ln_nemo_io which is true if we want to use NEMO I/O manager and false if not. So we can modify the 2 modules trcini.F90 and trcstp.F90 as follow : 
    291293 
    292294trcini.F90 
    293 {{ 
     295{{{ 
    294296      IF( lk_lobster ) THEN   ;   CALL trc_ini_lobster      ! LOBSTER bio-model 
    295297      ELSE                    ;   IF(lwp) WRITE(numout,*) '          LOBSTER not used' 
     
    339341 
    340342 
    341 }} 
     343}}} 
    342344 
    343345trcstp.F90 
    344346 
    345 {{ 
     347{{{ 
    346348      IF( MOD( kt - 1 , nn_dttrc ) == 0 ) THEN      ! only every nn_dttrc time step 
    347349         ! 
     
    372374         ! 
    373375      ENDIF 
    374 }} 
     376}}} 
     377 
     378and then, just copy & modify in MY_SRC directory the 2 modules to manage transport and outputs 
     379 
     380 * TOP_SRC/trcdia.F90 
     381 * TOP_SRC/TRP/trctrp.F90 
     382 
    375383=== Status === 
    376384On the dev branch we have now committed the method we currently use and that has to be modified. It is just a placeholder for the status quo at CMCC and very similar to NERC and MetOffice.