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.
Changeset 6736 for branches/NERC/dev_r3874_FASTNEt/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2016-06-24T09:50:27+02:00 (8 years ago)
Author:
jamesharle
Message:

FASTNEt code modifications

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r3874_FASTNEt/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r3769 r6736  
    4646   USE mppini          ! shared/distributed memory setting (mpp_init routine) 
    4747   USE domain          ! domain initialization             (dom_init routine) 
    48 #if defined key_nemocice_decomp 
    49    USE ice_domain_size, only: nx_global, ny_global 
    50 #endif 
    51    USE tideini         ! tidal components initialization   (tide_ini routine) 
    5248   USE obcini          ! open boundary cond. initialization (obc_ini routine) 
    5349   USE bdyini          ! open boundary cond. initialization (bdy_init routine) 
    5450   USE bdydta          ! open boundary cond. initialization (bdy_dta_init routine) 
    55    USE bdytides        ! open boundary cond. initialization (bdytide_init routine) 
     51   USE bdytides        ! open boundary cond. initialization (tide_init routine) 
    5652   USE istate          ! initial state setting          (istate_init routine) 
    5753   USE ldfdyn          ! lateral viscosity setting      (ldfdyn_init routine) 
     
    6056   USE phycst          ! physical constant                  (par_cst routine) 
    6157   USE trdmod          ! momentum/tracers trends       (trd_mod_init routine) 
    62    USE asminc          ! assimilation increments      
    6358   USE asmbkg          ! writing out state trajectory 
    6459   USE diaptr          ! poleward transports           (dia_ptr_init routine) 
     
    6762   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    6863   USE step            ! NEMO time-stepping                 (stp     routine) 
    69    USE icbini          ! handle bergs, initialisation 
    70    USE icbstp          ! handle bergs, calving, themodynamics and transport 
    7164#if defined key_oasis3 
    7265   USE cpl_oasis3      ! OASIS3 coupling 
     
    8174   USE lib_mpp         ! distributed memory computing 
    8275#if defined key_iomput 
    83    USE xios 
    84 #endif 
    85    USE sbctide, ONLY: lk_tide 
     76   USE mod_ioclient 
     77#endif 
     78   USE tamtrj          ! Output trajectory, needed for TAM 
    8679 
    8780   IMPLICIT NONE 
     
    126119      !                            !-----------------------! 
    127120#if defined key_agrif 
    128       CALL Agrif_Declare_Var_dom   ! AGRIF: set the meshes for DOM 
    129       CALL Agrif_Declare_Var       !  "      "   "   "      "  DYN/TRA  
     121      CALL Agrif_Declare_Var       ! AGRIF: set the meshes 
    130122# if defined key_top 
    131       CALL Agrif_Declare_Var_top   !  "      "   "   "      "  TOP 
    132 # endif 
    133 # if defined key_lim2 
    134       CALL Agrif_Declare_Var_lim2  !  "      "   "   "      "  LIM 
     123      CALL Agrif_Declare_Var_Top   ! AGRIF: set the meshes 
    135124# endif 
    136125#endif 
     
    171160#endif 
    172161 
    173       IF( lk_diaobs   )   CALL dia_obs_wri 
    174       ! 
    175       IF( ln_icebergs )   CALL icb_end( nitend ) 
     162      IF( lk_diaobs ) CALL dia_obs_wri 
    176163 
    177164      !                            !------------------------! 
     
    194181      ! 
    195182      CALL nemo_closefile 
    196 #if defined key_iomput 
    197       CALL xios_finalize                ! end mpp communications with xios 
    198 # if defined key_oasis3 || defined key_oasis4 
     183#if defined key_oasis3 || defined key_oasis4 
    199184      CALL cpl_prism_finalize           ! end coupling and mpp communications with OASIS 
    200 # endif 
    201185#else 
    202 # if defined key_oasis3 || defined key_oasis4 
    203       CALL cpl_prism_finalize           ! end coupling and mpp communications with OASIS 
    204 # else 
    205186      IF( lk_mpp )   CALL mppstop       ! end mpp communications 
    206 # endif 
    207187#endif 
    208188      ! 
     
    238218      IF( Agrif_Root() ) THEN 
    239219# if defined key_oasis3 || defined key_oasis4 
    240          CALL cpl_prism_init( ilocal_comm )      ! nemo local communicator given by oasis 
    241          CALL xios_initialize( "oceanx",local_comm=ilocal_comm ) 
    242 # else 
    243          CALL  xios_initialize( "nemo",return_comm=ilocal_comm ) 
     220         CALL cpl_prism_init( ilocal_comm )                 ! nemo local communicator given by oasis 
    244221# endif 
     222         CALL  init_ioclient( ilocal_comm )                 ! exchange io_server nemo local communicator with the io_server 
    245223      ENDIF 
    246224      narea = mynode( cltxt, numnam, nstop, ilocal_comm )   ! Nodes selection 
     
    276254      ! than variables 
    277255      IF( Agrif_Root() ) THEN 
     256         jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci   ! first  dim. 
    278257#if defined key_nemocice_decomp 
    279          jpi = ( nx_global+2-2*jpreci + (jpni-1) ) / jpni + 2*jpreci ! first  dim. 
    280          jpj = ( ny_global+2-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj ! second dim.  
     258         jpj = ( jpjglo+1-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj ! second dim. 
    281259#else 
    282          jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci   ! first  dim. 
    283260         jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj   ! second dim. 
    284261#endif 
     
    335312      IF( ln_ctl        )   CALL prt_ctl_init   ! Print control 
    336313 
     314                            CALL     sbc_init   ! Forcings : surface module 
    337315      IF( lk_obc        )   CALL     obc_init   ! Open boundaries 
    338  
    339                             CALL  istate_init   ! ocean initial state (Dynamics and tracers) 
    340  
    341       IF( lk_tide       )   CALL tide_init( nit000 )    ! Initialisation of the tidal harmonics 
    342  
    343316      IF( lk_bdy        )   CALL     bdy_init       ! Open boundaries initialisation 
    344317      IF( lk_bdy        )   CALL     bdy_dta_init   ! Open boundaries initialisation of external data arrays 
    345       IF( lk_bdy        )   CALL     bdytide_init   ! Open boundaries initialisation of tidal harmonic forcing 
    346  
     318      IF( lk_bdy        )   CALL     tide_init      ! Open boundaries initialisation of tidal harmonic forcing 
     319 
     320                            CALL flush(numout) 
    347321                            CALL dyn_nept_init  ! simplified form of Neptune effect 
     322                            CALL flush(numout) 
     323 
     324                            CALL  istate_init   ! ocean initial state (Dynamics and tracers) 
    348325 
    349326      !                                     ! Ocean physics 
    350                             CALL     sbc_init   ! Forcings : surface module 
     327  
    351328      !                                         ! Vertical physics 
    352329                            CALL     zdf_init      ! namelist read 
     
    383360      !                                     ! Misc. options 
    384361      IF( nn_cla == 1   )   CALL cla_init       ! Cross Land Advection 
    385                             CALL icb_init( rdt, nit000)   ! initialise icebergs instance 
    386        
     362 
    387363#if defined key_top 
    388364      !                                     ! Passive tracers 
     
    391367      !                                     ! Diagnostics 
    392368      IF( lk_floats     )   CALL     flo_init   ! drifting Floats 
     369                            CALL     iom_init   ! iom_put initialization 
    393370      IF( lk_diaar5     )   CALL dia_ar5_init   ! ar5 diag 
    394371                            CALL dia_ptr_init   ! Poleward TRansports initialization 
     
    403380      IF( lk_asminc     )   CALL asm_inc_init   ! Initialize assimilation increments 
    404381      IF(lwp) WRITE(numout,*) 'Euler time step switch is ', neuler 
     382                            CALL tam_trj_init ! Trajectory handling 
    405383      ! 
    406384   END SUBROUTINE nemo_init 
     
    539517      USE ldftra_oce, ONLY: ldftra_oce_alloc 
    540518      USE trc_oce   , ONLY: trc_oce_alloc 
    541 #if defined key_diadct  
    542       USE diadct    , ONLY: diadct_alloc  
    543 #endif  
    544519      ! 
    545520      INTEGER :: ierr 
     
    555530      ierr = ierr + lib_mpp_alloc   (numout)    ! mpp exchanges 
    556531      ierr = ierr + trc_oce_alloc   ()          ! shared TRC / TRA arrays 
    557       ! 
    558 #if defined key_diadct  
    559       ierr = ierr + diadct_alloc    ()          !  
    560 #endif  
    561532      ! 
    562533      IF( lk_mpp    )   CALL mpp_sum( ierr ) 
Note: See TracChangeset for help on using the changeset viewer.