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 15023 for NEMO/trunk/src/OCE/DOM – NEMO

Ignore:
Timestamp:
2021-06-18T16:35:25+02:00 (3 years ago)
Author:
gsamson
Message:

merge ticket2680_C1D_PAPA branch back into the trunk; see ticket #2680 for details

Location:
NEMO/trunk/src/OCE/DOM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DOM/dom_oce.F90

    r14834 r15023  
    3838   LOGICAL , PUBLIC ::   ln_1st_euler   !: =T start with forward time step or not (=F) 
    3939   LOGICAL , PUBLIC ::   ln_crs         !: Apply grid coarsening to dynamical model output or online passive tracers 
     40   LOGICAL , PUBLIC ::   ln_c1d         !: =T  single column domain (1x1 pt) 
    4041 
    4142   !! Free surface parameters 
  • NEMO/trunk/src/OCE/DOM/domain.F90

    r15014 r15023  
    1111   !!   NEMO     1.0  !  2002-08  (G. Madec)  F90: Free form and module 
    1212   !!            2.0  !  2005-11  (V. Garnier) Surface pressure gradient organization 
    13    !!            3.3  !  2010-11  (G. Madec)  initialisation in C1D configuration 
     13   !!            3.3  !  2010-11  (G. Madec)  initialisation in C1D configuration  
    1414   !!            3.6  !  2013     ( J. Simeon, C. Calone, G. Madec, C. Ethe ) Online coarsening of outputs 
    1515   !!            3.7  !  2015-11  (G. Madec, A. Coward)  time varying zgr by default 
     
    4646   USE dommsk         ! domain: set the mask system 
    4747   USE domwri         ! domain: write the meshmask file 
    48    USE c1d            ! 1D configuration 
    49    USE dyncor_c1d     ! 1D configuration: Coriolis term    (cor_c1d routine) 
    5048   USE wet_dry , ONLY : ll_wd     ! wet & drying flag 
    5149   USE closea  , ONLY : dom_clo   ! closed seas routine 
     50   USE c1d 
    5251   ! 
    5352   USE in_out_manager ! I/O manager 
     
    129128      CALL dom_tile_init                ! Tile domain 
    130129 
     130      IF( ln_c1d )   CALL     c1d_init                    ! 1D column configuration 
    131131      ! 
    132132      CALL dom_hgr                      ! Horizontal mesh 
     
    226226#endif 
    227227 
    228       ! 
    229  
    230       IF( lk_c1d         )   CALL cor_c1d       ! 1D configuration: Coriolis set at T-point 
    231228      ! 
    232229 
     
    320317         &             nn_stock, nn_write , ln_mskland  , ln_clobber   , nn_chunksz, ln_1st_euler  , & 
    321318         &             ln_cfmeta, ln_xios_read, nn_wxios 
    322       NAMELIST/namdom/ ln_linssh, rn_Dt, rn_atfp, ln_crs, ln_meshmask 
     319      NAMELIST/namdom/ ln_linssh, rn_Dt, rn_atfp, ln_crs, ln_c1d, ln_meshmask 
    323320      NAMELIST/namtile/ ln_tile, nn_ltile_i, nn_ltile_j 
    324321#if defined key_netcdf4 
     
    361358         WRITE(numout,*) '      asselin time filter parameter           rn_atfp     = ', rn_atfp 
    362359         WRITE(numout,*) '      online coarsening of dynamical fields   ln_crs      = ', ln_crs 
     360         WRITE(numout,*) '      single column domain (1x1pt)            ln_c1d      = ', ln_c1d 
    363361      ENDIF 
    364362      ! 
  • NEMO/trunk/src/OCE/DOM/istate.F90

    r14834 r15023  
    7676      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    7777 
    78        CALL dta_tsd_init        ! Initialisation of T & S input data 
    79  
    80 !      IF( lk_c1d )   CALL dta_uvd_init        ! Initialization of U & V input data 
     78      CALL dta_tsd_init                 ! Initialisation of T & S input data 
     79      IF( ln_c1d) CALL dta_uvd_init     ! Initialisation of U & V input data (c1d only) 
    8180 
    8281      rhd  (:,:,:      ) = 0._wp   ;   rhop (:,:,:  ) = 0._wp      ! set one for all to 0 at level jpk 
     
    114113            ! 
    115114            IF( ln_tsd_init ) THEN                
    116                CALL dta_tsd( nit000, ts(:,:,:,:,Kbb) )       ! read 3D T and S data at nit000 
    117                ! 
     115               CALL dta_tsd( nit000, ts(:,:,:,:,Kbb) )                     ! read 3D T and S data at nit000 
     116            ENDIF 
     117            ! 
     118            IF( ln_uvd_init .AND. ln_c1d ) THEN                
     119               CALL dta_uvd( nit000, Kbb, uu(:,:,:,Kbb), vv(:,:,:,Kbb) )   ! read 3D U and V data at nit000 
     120            ELSE 
    118121               uu  (:,:,:,Kbb) = 0._wp               ! set the ocean at rest 
    119122               vv  (:,:,:,Kbb) = 0._wp   
     123            ENDIF 
    120124               ! 
    121             ELSE                                 ! user defined initial T and S 
     125               ! 
     126            IF( .NOT. ln_tsd_init .AND. .NOT. ln_uvd_init ) THEN 
    122127               DO jk = 1, jpk 
    123128                  zgdept(:,:,jk) = gdept(:,:,jk,Kbb) 
     
    129134            vv    (:,:,:,Kmm) = vv   (:,:,:,Kbb) 
    130135 
    131          ! 
    132 !!gm ==>>>  to be moved in usrdef_istate of C1D case  
    133          IF ( ln_uvd_init .AND. lk_c1d ) THEN ! read 3D U and V data at nit000 
    134             ALLOCATE( zuvd(jpi,jpj,jpk,2) ) 
    135             CALL dta_uvd( nit000, Kbb, zuvd ) 
    136             uu(:,:,:,Kbb) = zuvd(:,:,:,1)  ;  uu(:,:,:,Kmm) = uu(:,:,:,Kbb) 
    137             vv(:,:,:,Kbb) = zuvd(:,:,:,2)  ;  vv(:,:,:,Kmm) = vv(:,:,:,Kbb) 
    138             DEALLOCATE( zuvd ) 
    139          ENDIF 
    140          ! 
    141          !  
    142136         ENDIF  
    143137#if defined key_agrif 
Note: See TracChangeset for help on using the changeset viewer.