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 12615 for NEMO/trunk/tests/STATION_ASF/MY_SRC/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2020-03-26T16:18:49+01:00 (4 years ago)
Author:
laurent
Message:

STATION_ASF testcase working, minor improvements in SBCBLK*...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/tests/STATION_ASF/MY_SRC/nemogcm.F90

    r12254 r12615  
    22   !!====================================================================== 
    33   !!                       ***  MODULE nemogcm   *** 
    4    !! StandAlone Surface module : surface fluxes 
     4   !!                      STATION_ASF (SAS meets C1D) 
    55   !!====================================================================== 
    66   !! History :  3.6  ! 2011-11  (S. Alderson, G. Madec) original code 
     
    1919   !!---------------------------------------------------------------------- 
    2020   USE step_oce       ! module used in the ocean time stepping module (step.F90) 
    21    USE sbc_oce        ! surface boundary condition: ocean #LB: rm? 
    2221   USE phycst         ! physical constant                  (par_cst routine) 
    2322   USE domain         ! domain initialization   (dom_init & dom_cfg routines) 
    2423   USE closea         ! treatment of closed seas (for ln_closea) 
    2524   USE usrdef_nam     ! user defined configuration 
     25   USE istate         ! initial state setting          (istate_init routine) 
    2626   USE step, ONLY : Nbb, Nnn, Naa, Nrhs ! time level indices 
    2727   USE daymod         ! calendar 
    2828   USE restart        ! open  restart file 
    29    !LB:USE step           ! NEMO time-stepping                 (stp     routine) 
    3029   USE c1d            ! 1D configuration 
    3130   USE step_c1d       ! Time stepping loop for the 1D configuration 
    32    USE sbcssm         ! 
    3331   ! 
    3432   USE lib_mpp        ! distributed memory computing 
     
    4947   !!---------------------------------------------------------------------- 
    5048   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
    51    !! $Id: nemogcm.F90 11536 2019-09-11 13:54:18Z smasson $ 
     49   !! $Id: nemogcm.F90 12489 2020-02-28 15:55:11Z davestorkey $ 
    5250   !! Software governed by the CeCILL license (see ./LICENSE) 
    5351   !!---------------------------------------------------------------------- 
     
    8482      !                            !==   time stepping   ==! 
    8583      !                            !-----------------------! 
     84      ! 
     85      !                                               !== set the model time-step  ==! 
     86      ! 
    8687      istp = nit000 
    8788      ! 
     
    106107      ! 
    107108#if defined key_iomput 
    108       CALL xios_finalize  ! end mpp communications with xios 
     109                                    CALL xios_finalize  ! end mpp communications with xios 
    109110#else 
    110       IF( lk_mpp   ) THEN   ;   CALL mppstop      ! end mpp communications 
    111       ENDIF 
     111      IF( lk_mpp )                  CALL mppstop      ! end mpp communications 
    112112#endif 
    113113      ! 
     
    161161      IF( lwm )   CALL ctl_opn(     numout,        'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    162162      ! open reference and configuration namelist files 
    163       CALL load_nml( numnam_ref,        'namelist_ref',                                           -1, lwm ) 
    164       CALL load_nml( numnam_cfg,        'namelist_cfg',                                           -1, lwm ) 
     163                  CALL load_nml( numnam_ref,        'namelist_ref',                                           -1, lwm ) 
     164                  CALL load_nml( numnam_cfg,        'namelist_cfg',                                           -1, lwm ) 
    165165      IF( lwm )   CALL ctl_opn(     numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    166166      ! open /dev/null file to be able to supress output write easily 
    167       CALL ctl_opn(     numnul,           '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     167                  CALL ctl_opn(     numnul,           '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    168168      ! 
    169169      !                             !--------------------! 
     
    235235903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 
    236236      READ  ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 
    237 904   IF( ios >  0 )   CALL ctl_nam ( ios , 'namcfg in configuration namelist' ) 
     237904   IF( ios >  0 )   CALL ctl_nam ( ios , 'namcfg in configuration namelist' )    
    238238      ! 
    239239      IF( ln_read_cfg ) THEN            ! Read sizes in domain configuration file 
     
    266266      IF( ln_timing    )   CALL timing_start( 'nemo_init') 
    267267      ! 
    268       CALL     phy_cst         ! Physical constants 
    269       CALL     eos_init        ! Equation of state 
     268                           CALL     phy_cst         ! Physical constants 
     269                           CALL     eos_init        ! Equation of state 
    270270      IF( lk_c1d       )   CALL     c1d_init        ! 1D column configuration 
    271       CALL     dom_init( Nbb, Nnn, Naa, "OPA") ! Domain 
     271                           CALL     dom_init( Nbb, Nnn, Naa, "OPA") ! Domain 
    272272      IF( sn_cfctl%l_prtctl )   & 
    273273         &                 CALL prt_ctl_init        ! Print control 
    274  
    275       IF( ln_rstart ) THEN                    ! Restart from a file                                                                                  
    276          !                                    ! -------------------                                                                                  
    277          CALL rst_read( Nbb, Nnn )            ! Read the restart file                                                                                
    278          CALL day_init                        ! model calendar (using both namelist and restart infos)                                               
    279          !                                                                                                                                           
    280       ELSE                                    ! Start from rest                                                                                      
    281          !                                    ! ---------------                                                                                      
    282          numror = 0                           ! define numror = 0 -> no restart file to read                                                         
    283          neuler = 0                           ! Set time-step indicator at nit000 (euler forward)                                                    
    284          CALL day_init                        ! model calendar (using both namelist and restart infos)                                               
    285       ENDIF 
    286       ! 
    287  
    288       !                                      ! external forcing 
    289       CALL     sbc_init( Nbb, Nnn, Naa )    ! surface boundary conditions (including sea-ice) 
     274      ! 
     275       
     276                           CALL  istate_init( Nbb, Nnn, Naa )    ! ocean initial state (Dynamics and tracers) 
     277 
     278      !                                      ! external forcing  
     279                           CALL     sbc_init( Nbb, Nnn, Naa )    ! surface boundary conditions (including sea-ice) 
    290280 
    291281      ! 
     
    321311         WRITE(numout,*) '                              sn_cfctl%l_prttrc  = ', sn_cfctl%l_prttrc 
    322312         WRITE(numout,*) '                              sn_cfctl%l_oasout  = ', sn_cfctl%l_oasout 
    323          WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin 
    324          WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax 
    325          WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr 
    326          WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr 
     313         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
     314         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     315         WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr  
     316         WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr  
    327317         WRITE(numout,*) '      level of print                  nn_print   = ', nn_print 
    328318         WRITE(numout,*) '      Start i indice for SUM control  nn_ictls   = ', nn_ictls 
     
    439429      !!---------------------------------------------------------------------- 
    440430      ! 
    441       ierr =        oce_alloc    ()    ! ocean 
     431      ierr =        oce_alloc    ()    ! ocean  
    442432      ierr = ierr + dia_wri_alloc() 
    443433      ierr = ierr + dom_oce_alloc()    ! ocean domain 
     
    448438   END SUBROUTINE nemo_alloc 
    449439 
    450  
     440    
    451441   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
    452442      !!---------------------------------------------------------------------- 
     
    479469   !!====================================================================== 
    480470END MODULE nemogcm 
     471 
Note: See TracChangeset for help on using the changeset viewer.