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 11831 for NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF – NEMO

Ignore:
Timestamp:
2019-10-29T18:14:49+01:00 (4 years ago)
Author:
laurent
Message:

Update the branch to r11830 of the trunk!

Location:
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/MY_SRC
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/MY_SRC/diawri.F90

    r11637 r11831  
    1717   !!                 ! 2005-11  (V. Garnier) Surface pressure gradient organization 
    1818   !!            3.2  ! 2008-11  (B. Lemaire) creation from old diawri 
     19   !!            3.7  ! 2014-01  (G. Madec) remove eddy induced velocity from no-IOM output 
     20   !!                 !                     change name of output variables in dia_wri_state 
    1921   !!---------------------------------------------------------------------- 
    2022 
     
    2729   USE phycst         ! physical constants 
    2830   USE dianam         ! build name of file (routine) 
    29    !LB:USE diahth         ! thermocline diagnostics 
    30    USE zdf_oce        ! ocean vertical physics 
    3131   USE sbc_oce        ! Surface boundary condition: ocean fields 
    32    !LB:USE sbc_ice        ! Surface boundary condition: ice fields 
    33    !LB:USE sbcssr         ! restoring term toward SST/SSS climatology 
    34    !LB:USE zdfmxl         ! mixed layer 
    35    !LB:USE zdfddm         ! vertical  physics: double diffusion 
    3632   ! 
    3733   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
     
    9894      ENDIF 
    9995      ! 
     96      CALL iom_put(  "sst", sst_m(:,:) )    ! bulk surface temperature 
     97      CALL iom_put(  "sss", sss_m(:,:) )    ! surface salinity 
     98      ! 
     99      CALL iom_put(  "ssu", ssu_m(:,:) )    ! ocean surface current along i-axis 
     100      CALL iom_put(  "ssv", ssv_m(:,:) )    ! ocean surface current along j-axis 
     101      ! 
    100102   END SUBROUTINE dia_wri 
    101103 
     
    107109   INTEGER FUNCTION dia_wri_alloc() 
    108110      !!---------------------------------------------------------------------- 
    109       INTEGER :: ierr 
    110       !!---------------------------------------------------------------------- 
    111       ! 
    112       ALLOCATE( ndex_hT(jpi*jpj), ndex_hU(jpi*jpj), ndex_hV(jpi*jpj), STAT=dia_wri_alloc ) 
     111      INTEGER, DIMENSION(2) :: ierr 
     112      !!---------------------------------------------------------------------- 
     113      ierr = 0 
     114      ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) ,     & 
     115         &      ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) ,     & 
     116         &      ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) ) 
     117         ! 
     118      dia_wri_alloc = MAXVAL(ierr) 
    113119      CALL mpp_sum( 'diawri', dia_wri_alloc ) 
    114120      ! 
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/MY_SRC/nemogcm.F90

    r11637 r11831  
    55   !!====================================================================== 
    66   !! History :  3.6  ! 2011-11  (S. Alderson, G. Madec) original code 
    7    !!             -   ! 2013-06  (I. Epicoco, S. Mocavero, CMCC) nemo_northcomms: setup avoiding MPI communication  
     7   !!             -   ! 2013-06  (I. Epicoco, S. Mocavero, CMCC) nemo_northcomms: setup avoiding MPI communication 
    88   !!             -   ! 2014-12  (G. Madec) remove KPP scheme and cross-land advection (cla) 
    99   !!            4.0  ! 2016-10  (G. Madec, S. Flavoni)  domain configuration / user defined interface 
     
    1111 
    1212   !!---------------------------------------------------------------------- 
    13    !!   nemo_gcm      : solve ocean dynamics, tracer, biogeochemistry 
     13   !!   nemo_gcm      : solve ocean dynamics, tracer, biogeochemistry and/or sea-ice 
    1414   !!   nemo_init     : initialization of the NEMO system 
    1515   !!   nemo_ctl      : initialisation of the contol print 
     
    1717   !!   nemo_alloc    : dynamical allocation 
    1818   !!---------------------------------------------------------------------- 
    19    USE step_oce       ! module used in the ocean time stepping module 
     19   USE step_oce       ! module used in the ocean time stepping module (step.F90) 
    2020   USE sbc_oce        ! surface boundary condition: ocean 
    2121   USE phycst         ! physical constant                  (par_cst routine) 
     
    2626   USE restart        ! open  restart file 
    2727   !LB:USE step           ! NEMO time-stepping                 (stp     routine) 
    28    !LB:USE cpl_oasis3     ! 
    2928   USE c1d            ! 1D configuration 
    3029   USE step_c1d       ! Time stepping loop for the 1D configuration 
    3130   USE sbcssm         ! 
    32    !LB:USE icbini         ! handle bergs, initialisation 
    33    !LB:USE icbstp         ! handle bergs, calving, themodynamics and transport 
    34    !LB:USE bdyini         ! open boundary cond. setting       (bdy_init routine). mandatory for sea-ice 
    35    !LB:USE bdydta         ! open boundary cond. setting   (bdy_dta_init routine). mandatory for sea-ice 
    3631   ! 
    3732   USE lib_mpp        ! distributed memory computing 
    3833   USE mppini         ! shared/distributed memory setting (mpp_init routine) 
    39    !LB:USE lbcnfd  , ONLY : isendto, nsndto, nfsloop, nfeloop   ! Setup of north fold exchanges  
    4034   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    4135#if defined key_iomput 
     
    5246 
    5347   !!---------------------------------------------------------------------- 
    54    !! NEMO/SAS 4.0 , NEMO Consortium (2018) 
    55    !! $Id: nemogcm.F90 10601 2019-01-28 20:53:01Z acc $ 
     48   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     49   !! $Id: nemogcm.F90 11536 2019-09-11 13:54:18Z smasson $ 
    5650   !! Software governed by the CeCILL license (see ./LICENSE) 
    5751   !!---------------------------------------------------------------------- 
     
    7367      !!---------------------------------------------------------------------- 
    7468      INTEGER ::   istp   ! time step index 
     69      REAL(wp)::   zstptiming   ! elapsed time for 1 time step 
    7570      !!---------------------------------------------------------------------- 
    7671      ! 
     
    9994         ! 
    10095         DO WHILE( istp <= nitend .AND. nstop == 0 ) 
    101 #if defined key_mpp_mpi 
     96 
    10297            ncom_stp = istp 
    103             IF ( istp == ( nit000 + 1 ) ) elapsed_time = MPI_Wtime() 
    104             IF ( istp ==         nitend ) elapsed_time = MPI_Wtime() - elapsed_time 
    105 #endif 
    106             CALL stp        ( istp )  
     98            IF( ln_timing ) THEN 
     99               zstptiming = MPI_Wtime() 
     100               IF ( istp == ( nit000 + 1 ) ) elapsed_time = zstptiming 
     101               IF ( istp ==         nitend ) elapsed_time = zstptiming - elapsed_time 
     102            ENDIF 
     103 
     104            CALL stp        ( istp ) 
    107105            istp = istp + 1 
     106 
     107            IF( lwp .AND. ln_timing )   WRITE(numtime,*) 'timing step ', istp-1, ' : ', MPI_Wtime() - zstptiming 
     108 
    108109         END DO 
    109110         ! 
     
    111112         ! 
    112113         DO WHILE( istp <= nitend .AND. nstop == 0 ) 
    113             CALL stp_diurnal( istp )   ! time step only the diurnal SST  
     114            CALL stp_diurnal( istp )   ! time step only the diurnal SST 
    114115            istp = istp + 1 
    115116         END DO 
     
    125126      ! 
    126127      IF( nstop /= 0 .AND. lwp ) THEN        ! error print 
    127          WRITE(numout,cform_err) 
    128          WRITE(numout,*) '   ==>>>   nemo_gcm: a total of ', nstop, ' errors have been found' 
    129          WRITE(numout,*) 
     128         WRITE(ctmp1,*) '   ==>>>   nemo_gcm: a total of ', nstop, ' errors have been found' 
     129         CALL ctl_stop( ctmp1 ) 
    130130      ENDIF 
    131131      ! 
     
    135135      ! 
    136136#if defined key_iomput 
    137                                     CALL xios_finalize  ! end mpp communications with xios 
     137      CALL xios_finalize  ! end mpp communications with xios 
    138138#else 
    139       IF( lk_mpp   ) THEN   ;   CALL mppstop( ldfinal = .TRUE. )   ! end mpp communications 
     139      IF( lk_mpp   ) THEN   ;   CALL mppstop      ! end mpp communications 
    140140      ENDIF 
    141141#endif 
     
    143143      IF(lwm) THEN 
    144144         IF( nstop == 0 ) THEN   ;   STOP 0 
    145          ELSE                    ;   STOP 999 
     145         ELSE                    ;   STOP 123 
    146146         ENDIF 
    147147      ENDIF 
     
    156156      !! ** Purpose :   initialization of the NEMO GCM 
    157157      !!---------------------------------------------------------------------- 
    158       INTEGER  ::   ji                 ! dummy loop indices 
    159       INTEGER  ::   ios, ilocal_comm   ! local integers 
    160       CHARACTER(len=120), DIMENSION(60) ::   cltxt, cltxt2, clnam 
     158      INTEGER ::   ios, ilocal_comm   ! local integers 
    161159      !! 
    162160      NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     
    166164      !!---------------------------------------------------------------------- 
    167165      ! 
    168       cltxt  = '' 
    169       cltxt2 = '' 
    170       clnam  = ''   
    171166      cxios_context = 'nemo' 
    172167      ! 
    173       !                             ! Open reference namelist and configuration namelist files 
    174       CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
    175       CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
     168      !                             !-------------------------------------------------! 
     169      !                             !     set communicator & select the local rank    ! 
     170      !                             !  must be done as soon as possible to get narea  ! 
     171      !                             !-------------------------------------------------! 
     172      ! 
     173#if defined key_iomput 
     174      IF( Agrif_Root() ) THEN 
     175         CALL xios_initialize( "for_xios_mpi_id", return_comm=ilocal_comm )   ! nemo local communicator given by xios 
     176      ENDIF 
     177      CALL mpp_start( ilocal_comm ) 
     178#else 
     179      CALL mpp_start( ) 
     180#endif 
     181      ! 
     182      narea = mpprank + 1               ! mpprank: the rank of proc (0 --> mppsize -1 ) 
     183      lwm = (narea == 1)                ! control of output namelists 
     184      ! 
     185      !                             !---------------------------------------------------------------! 
     186      !                             ! Open output files, reference and configuration namelist files ! 
     187      !                             !---------------------------------------------------------------! 
     188      ! 
     189      ! open ocean.output as soon as possible to get all output prints (including errors messages) 
     190      IF( lwm )   CALL ctl_opn(     numout,        'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     191      ! open reference and configuration namelist files 
     192      CALL ctl_opn( numnam_ref,        'namelist_ref',     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     193      CALL ctl_opn( numnam_cfg,        'namelist_cfg',     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     194      IF( lwm )   CALL ctl_opn(     numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     195      ! open /dev/null file to be able to supress output write easily 
     196      CALL ctl_opn(     numnul,           '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     197      ! 
     198      !                             !--------------------! 
     199      !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     200      !                             !--------------------! 
    176201      ! 
    177202      REWIND( numnam_ref )              ! Namelist namctl in reference namelist 
    178203      READ  ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 
    179 901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namctl in reference namelist', .TRUE. ) 
     204901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namctl in reference namelist' ) 
    180205      REWIND( numnam_cfg )              ! Namelist namctl in confguration namelist 
    181206      READ  ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 
    182 902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 
    183       ! 
    184       REWIND( numnam_ref )              ! Namelist namcfg in reference namelist 
    185       READ  ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 
    186 903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namcfg in reference namelist', .TRUE. ) 
    187       REWIND( numnam_cfg )              ! Namelist namcfg in confguration namelist 
    188       READ  ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 
    189 904   IF( ios >  0 )   CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. )    
    190  
    191       !                             !--------------------------! 
    192       !                             !  Set global domain size  !   (control print return in cltxt2) 
    193       !                             !--------------------------! 
    194       IF( ln_read_cfg ) THEN              ! Read sizes in domain configuration file 
    195          CALL domain_cfg ( cltxt2,        cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
    196          ! 
    197       ELSE                                ! user-defined namelist 
    198          CALL usr_def_nam( cltxt2, clnam, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
    199       ENDIF 
    200       ! 
    201       ! 
    202       !                             !--------------------------------------------! 
    203       !                             !  set communicator & select the local node  ! 
    204       !                             !  NB: mynode also opens output.namelist.dyn ! 
    205       !                             !      on unit number numond on first proc   ! 
    206       !                             !--------------------------------------------! 
    207 #if defined key_iomput 
    208       IF( Agrif_Root() ) THEN 
    209             CALL xios_initialize( "for_xios_mpi_id",return_comm=ilocal_comm )    ! nemo local communicator given by xios 
    210       ENDIF 
    211       ! Nodes selection (control print return in cltxt) 
    212       narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) 
    213 #else 
    214          ilocal_comm = 0                                    ! Nodes selection (control print return in cltxt) 
    215          narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop ) 
    216 #endif 
    217  
    218       narea = narea + 1                                     ! mynode return the rank of proc (0 --> jpnij -1 ) 
    219  
    220       IF( sn_cfctl%l_config ) THEN 
    221          ! Activate finer control of report outputs 
    222          ! optionally switch off output from selected areas (note this only 
    223          ! applies to output which does not involve global communications) 
    224          IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
    225            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
    226            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    227       ELSE 
    228          ! Use ln_ctl to turn on or off all options. 
    229          CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
    230       ENDIF 
    231  
    232       lwm = (narea == 1)                                    ! control of output namelists 
    233       lwp = (narea == 1) .OR. ln_ctl                        ! control of all listing output print 
    234  
    235       IF(lwm) THEN               ! write merged namelists from earlier to output namelist  
    236          !                       ! now that the file has been opened in call to mynode.  
    237          !                       ! NB: nammpp has already been written in mynode (if lk_mpp_mpi) 
    238          WRITE( numond, namctl ) 
    239          WRITE( numond, namcfg ) 
    240          IF( .NOT.ln_read_cfg ) THEN 
    241             DO ji = 1, SIZE(clnam) 
    242                IF( TRIM(clnam(ji)) /= '' )   WRITE(numond, * ) clnam(ji)     ! namusr_def print 
    243             END DO 
    244          ENDIF 
    245       ENDIF 
    246  
    247       IF(lwp) THEN                            ! open listing units 
    248          ! 
    249          CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 
     207902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
     208      ! 
     209      lwp = (narea == 1) .OR. ln_ctl    ! control of all listing output print 
     210      ! 
     211      IF(lwp) THEN                      ! open listing units 
     212         ! 
     213         IF( .NOT. lwm )   &            ! alreay opened for narea == 1 
     214            &            CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea ) 
    250215         ! 
    251216         WRITE(numout,*) 
    252          WRITE(numout,*) '   CNRS - NERC - Met OFFICE - MERCATOR-ocean - INGV - CMCC' 
     217         WRITE(numout,*) '   CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC' 
    253218         WRITE(numout,*) '                       NEMO team' 
    254219         WRITE(numout,*) '            Ocean General Circulation Model' 
    255220         WRITE(numout,*) '                NEMO version 4.0  (2019) ' 
    256          WRITE(numout,*) '                        SASC1D ' 
     221         WRITE(numout,*) '                      STATION_ASF ' 
    257222         WRITE(numout,*) "           ._      ._      ._      ._      ._    " 
    258223         WRITE(numout,*) "       _.-._)`\_.-._)`\_.-._)`\_.-._)`\_.-._)`\_ " 
     
    269234         WRITE(numout,*) "     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " 
    270235         WRITE(numout,*) 
    271           
    272          DO ji = 1, SIZE(cltxt) 
    273             IF( TRIM(cltxt (ji)) /= '' )   WRITE(numout,*) TRIM(cltxt(ji))    ! control print of mynode 
    274          END DO 
    275          WRITE(numout,*) 
    276          WRITE(numout,*) 
    277          DO ji = 1, SIZE(cltxt2) 
    278             IF( TRIM(cltxt2(ji)) /= '' )   WRITE(numout,*) TRIM(cltxt2(ji))   ! control print of domain size 
    279          END DO 
    280236         ! 
    281237         WRITE(numout,cform_aaa)                                        ! Flag AAAAAAA 
    282238         ! 
    283239      ENDIF 
    284       ! open /dev/null file to be able to supress output write easily 
    285       CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
    286       ! 
    287       !                                      ! Domain decomposition 
    288       CALL mpp_init                          ! MPP 
     240      ! 
     241      ! finalize the definition of namctl variables 
     242      IF( sn_cfctl%l_config ) THEN 
     243         ! Activate finer control of report outputs 
     244         ! optionally switch off output from selected areas (note this only 
     245         ! applies to output which does not involve global communications) 
     246         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
     247            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
     248            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
     249      ELSE 
     250         ! Use ln_ctl to turn on or off all options. 
     251         CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
     252      ENDIF 
     253      ! 
     254      IF(lwm) WRITE( numond, namctl ) 
     255      ! 
     256      !                             !------------------------------------! 
     257      !                             !  Set global domain size parameters ! 
     258      !                             !------------------------------------! 
     259      ! 
     260      REWIND( numnam_ref )              ! Namelist namcfg in reference namelist 
     261      READ  ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 
     262903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 
     263      REWIND( numnam_cfg )              ! Namelist namcfg in confguration namelist 
     264      READ  ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 
     265904   IF( ios >  0 )   CALL ctl_nam ( ios , 'namcfg in configuration namelist' ) 
     266      ! 
     267      IF( ln_read_cfg ) THEN            ! Read sizes in domain configuration file 
     268         CALL domain_cfg ( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
     269      ELSE                              ! user-defined namelist 
     270         CALL usr_def_nam( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
     271      ENDIF 
     272      ! 
     273      IF(lwm)   WRITE( numond, namcfg ) 
     274      ! 
     275      !                             !-----------------------------------------! 
     276      !                             ! mpp parameters and domain decomposition ! 
     277      !                             !-----------------------------------------! 
     278      CALL mpp_init 
    289279 
    290280      ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays 
     
    301291      IF( ln_timing    )   CALL timing_start( 'nemo_init') 
    302292      ! 
    303                            CALL     phy_cst         ! Physical constants 
    304                            CALL     eos_init        ! Equation of state 
    305 !LB:                           CALL dom_init('SAS') ! Domain 
    306       IF( lk_c1d       )   CALL     c1d_init        ! 1D column configuration !LB 
    307                            CALL     dom_init("OPA") ! Domain 
     293      CALL     phy_cst         ! Physical constants 
     294      CALL     eos_init        ! Equation of state 
     295      IF( lk_c1d       )   CALL     c1d_init        ! 1D column configuration 
     296      CALL     dom_init("OPA") ! Domain 
    308297      IF( ln_ctl       )   CALL prt_ctl_init        ! Print control 
    309       !PRINT *, 'LOLO/nemogcm.F90: after prt_ctl_init!';  STOP 
    310        
    311                            CALL day_init        ! model calendar (using both namelist and restart infos) 
     298 
     299      CALL day_init        ! model calendar (using both namelist and restart infos) 
    312300      IF( ln_rstart )      CALL rst_read_open 
    313301 
    314       !                                      ! external forcing  
    315                            CALL sbc_init        ! Forcings : surface module  
    316  
    317       ! ==> clem: open boundaries init. is mandatory for sea-ice because ice BDY is not decoupled from   
    318       !           the environment of ocean BDY. Therefore bdy is called in both OPA and SAS modules.  
    319       !           This is not clean and should be changed in the future.  
    320                            !CALL bdy_init 
     302      !                                      ! external forcing 
     303      CALL     sbc_init    ! surface boundary conditions (including sea-ice) 
     304 
    321305      ! 
    322306      IF(lwp) WRITE(numout,cform_aaa)           ! Flag AAAAAAA 
     
    333317      !! ** Purpose :   control print setting 
    334318      !! 
    335       !! ** Method  : - print namctl information and check some consistencies 
     319      !! ** Method  : - print namctl and namcfg information and check some consistencies 
    336320      !!---------------------------------------------------------------------- 
    337321      ! 
     
    349333         WRITE(numout,*) '                              sn_cfctl%l_mppout  = ', sn_cfctl%l_mppout 
    350334         WRITE(numout,*) '                              sn_cfctl%l_mpptop  = ', sn_cfctl%l_mpptop 
    351          WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
    352          WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
    353          WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr  
    354          WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr  
     335         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin 
     336         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax 
     337         WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr 
     338         WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr 
    355339         WRITE(numout,*) '      level of print                  nn_print   = ', nn_print 
    356340         WRITE(numout,*) '      Start i indice for SUM control  nn_ictls   = ', nn_ictls 
     
    467451      USE diawri    , ONLY : dia_wri_alloc 
    468452      USE dom_oce   , ONLY : dom_oce_alloc 
    469       !USE bdy_oce   , ONLY : ln_bdy, bdy_oce_alloc 
    470       USE oce       ! mandatory for sea-ice because needed for bdy arrays 
    471453      ! 
    472454      INTEGER :: ierr 
    473455      !!---------------------------------------------------------------------- 
    474456      ! 
    475       ierr =        dia_wri_alloc() 
    476       ierr = ierr + dom_oce_alloc()          ! ocean domain 
    477       ierr = ierr + oce_alloc    ()          ! (tsn...) needed for agrif and/or SI3 and bdy 
    478       !ierr = ierr + bdy_oce_alloc()          ! bdy masks (incl. initialization) 
     457      ierr =        oce_alloc    ()    ! ocean 
     458      ierr = ierr + dia_wri_alloc() 
     459      ierr = ierr + dom_oce_alloc()    ! ocean domain 
    479460      ! 
    480461      CALL mpp_sum( 'nemogcm', ierr ) 
     
    482463      ! 
    483464   END SUBROUTINE nemo_alloc 
     465 
    484466 
    485467   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     
    512494   !!====================================================================== 
    513495END MODULE nemogcm 
    514  
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/MY_SRC/sbcssm.F90

    r11637 r11831  
    188188      REWIND( numnam_ref )              ! Namelist namsbc_sas in reference namelist : Input fields 
    189189      READ  ( numnam_ref, namsbc_sas, IOSTAT = ios, ERR = 901) 
    190 901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namsbc_sas in reference namelist', lwp ) 
     190901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namsbc_sas in reference namelist' ) 
    191191      REWIND( numnam_cfg )              ! Namelist namsbc_sas in configuration namelist : Input fields 
    192192      READ  ( numnam_cfg, namsbc_sas, IOSTAT = ios, ERR = 902 ) 
    193 902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namsbc_sas in configuration namelist', lwp ) 
     193902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namsbc_sas in configuration namelist' ) 
    194194      IF(lwm) WRITE ( numond, namsbc_sas ) 
    195195      !            
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/MY_SRC/usrdef_nam.F90

    r11637 r11831  
    1515   !!   usr_def_hgr   : initialize the horizontal mesh  
    1616   !!---------------------------------------------------------------------- 
    17    USE dom_oce  , ONLY: nimpp, njmpp             ! ocean space and time domain 
    18    USE dom_oce  , ONLY: ln_zco, ln_zps, ln_sco   ! flag of type of coordinate 
     17   USE dom_oce  , ONLY: nimpp, njmpp       ! ocean space and time domain 
     18   USE dom_oce  , ONLY: ln_zco, ln_zps, ln_sco   ! flag of type of coordinate !#LB??? 
    1919   USE par_oce        ! ocean space and time domain 
    2020   USE phycst         ! physical constants 
     
    2929 
    3030   !                              !!* namusr_def namelist *!! 
    31    LOGICAL, PUBLIC ::   ln_bench   ! =T benchmark test with gyre: the gridsize is constant (no need to adjust timestep or viscosity) 
    32    INTEGER, PUBLIC ::   nn_GYRE    ! 1/nn_GYRE = the resolution chosen in degrees and thus defining the horizontal domain size 
    3331   REAL(wp), PUBLIC::   rn_dept1   ! Depth (m) at which the SST is taken/measured == depth of first T point! 
    3432 
    3533   !!---------------------------------------------------------------------- 
    3634   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
    37    !! $Id: usrdef_nam.F90 10072 2018-08-28 15:21:50Z nicolasmartin $ 
     35   !! $Id: usrdef_nam.F90 11536 2019-09-11 13:54:18Z smasson $  
    3836   !! Software governed by the CeCILL license (see ./LICENSE) 
    3937   !!---------------------------------------------------------------------- 
    4038CONTAINS 
    4139 
    42    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     40   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4341      !!---------------------------------------------------------------------- 
    4442      !!                     ***  ROUTINE dom_nam  *** 
     
    4846      !! ** Method  :   read in namusr_def containing all the user specific namelist parameter 
    4947      !! 
    50       !!                Here C1D configuration 
     48      !!                Here STATION_ASF configuration 
    5149      !! 
    5250      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5351      !!---------------------------------------------------------------------- 
    54       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    55       CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    56       INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
    57       INTEGER                       , INTENT(out) ::   kpi, kpj, kpk   ! global domain sizes  
    58       INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
     52      CHARACTER(len=*), INTENT(out) ::   cd_cfg          ! configuration name 
     53      INTEGER         , INTENT(out) ::   kk_cfg          ! configuration resolution 
     54      INTEGER         , INTENT(out) ::   kpi, kpj, kpk   ! global domain sizes  
     55      INTEGER         , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5956      ! 
    60       INTEGER ::   ios, ii   ! Local integer 
     57      INTEGER ::   ios   ! Local integer 
    6158      !! 
    6259      NAMELIST/namusr_def/ rn_dept1 
    6360      !!---------------------------------------------------------------------- 
    6461      ! 
    65       ii = 1 
    66       ! 
    6762      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6863      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    69 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     64902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
    7065      ! 
    71       WRITE( ldnam(:), namusr_def ) 
     66      IF(lwm)   WRITE( numond, namusr_def ) 
    7267      ! 
    7368      cd_cfg = 'STATION_ASF'               ! name & resolution (not used) 
     
    7974      kpk = 1 
    8075      ! 
    81       !                             ! control print 
    82       WRITE(ldtxt(ii),*) '   '                                                                            ;   ii = ii + 1 
    83       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'     ;   ii = ii + 1 
    84       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                   ;   ii = ii + 1 
    85       WRITE(ldtxt(ii),*) '   Namelist namusr_def : C1 case'                                               ;   ii = ii + 1 
    86       WRITE(ldtxt(ii),*) '      type of vertical coordinate : '                                           ;   ii = ii + 1 
    87       WRITE(ldtxt(ii),*) '         z-coordinate flag                     ln_zco = ', ln_zco               ;   ii = ii + 1 
    88       WRITE(ldtxt(ii),*) '         z-partial-step coordinate flag        ln_zps = ', ln_zps               ;   ii = ii + 1 
    89       WRITE(ldtxt(ii),*) '         s-coordinate flag                     ln_sco = ', ln_sco               ;   ii = ii + 1 
    90       WRITE(ldtxt(ii),*) '      C1D domain = 3 x 3 x 1 grid-points                '                       ;   ii = ii + 1 
    91       WRITE(ldtxt(ii),*) '         resulting global domain size :        jpiglo = ', kpi                  ;   ii = ii + 1 
    92       WRITE(ldtxt(ii),*) '                                               jpjglo = ', kpj                  ;   ii = ii + 1 
    93       WRITE(ldtxt(ii),*) '                                               jpkglo = ', kpk                  ;   ii = ii + 1 
    94  
    95       ! 
    9676      !                             ! Set the lateral boundary condition of the global domain 
    9777      kperio =  7                   ! C1D configuration : 3x3 basin with cyclic Est-West and Norht-South condition 
    9878      ! 
    99       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    100       WRITE(ldtxt(ii),*) '      C1D : closed basin                 jperio = ', kperio                   ;   ii = ii + 1 
     79      !                             ! control print 
     80      IF(lwp) THEN 
     81         WRITE(numout,*) '   ' 
     82         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     83         WRITE(numout,*) '~~~~~~~~~~~ ' 
     84         WRITE(numout,*) '   Namelist namusr_def : STATION_ASF case' 
     85         WRITE(numout,*) '         Detpth of first T-point (bulk SST): rn_dept1 = ', rn_dept1 
     86         WRITE(numout,*) '         jpiglo, jpjglo  = ', kpi, kpj 
     87         WRITE(numout,*) '      number of model levels                              kpk = ', kpk 
     88         WRITE(numout,*) '   ' 
     89         WRITE(numout,*) '   Lateral b.c. of the domain set to       jperio = ', kperio 
     90      ENDIF 
    10191      ! 
    10292   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/STATION_ASF/MY_SRC/usrdef_zgr.F90

    r11637 r11831  
    2828   PUBLIC   usr_def_zgr   ! called by domzgr.F90 
    2929 
    30    !! * Substitutions 
    31 #  include "vectopt_loop_substitute.h90" 
    3230   !!---------------------------------------------------------------------- 
    3331   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
Note: See TracChangeset for help on using the changeset viewer.