Changeset 5927


Ignore:
Timestamp:
2015-11-26T12:23:11+01:00 (5 years ago)
Author:
jchanut
Message:

FS simplification: Insert changes related to #1638, #1625 + C1D compatibility

Location:
branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM
Files:
1 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/CONFIG/C1D_PAPA/EXP00/namelist_cfg

    r5917 r5927  
    137137&namtra_qsr    !   penetrative solar radiation 
    138138!----------------------------------------------------------------------- 
     139!              !  file name  ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask ! 
     140!              !             !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      ! 
     141   sn_chl      ='chlorophyll_PAPASTATION', -1    , 'CHLA'    ,   .true.     , .true. , 'yearly'  , ''       , ''       , '' 
    139142/ 
    140143!----------------------------------------------------------------------- 
  • branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/namelist_cfg

    r5917 r5927  
    183183   ln_hpg_zco  = .false.   !  z-coordinate - full steps 
    184184   ln_hpg_zps  = .false.   !  z-coordinate - partial steps (interpolation) 
    185    ln_hpg_sco  = .true.    !  s-coordinate (standard jacobian formulation) 
     185   ln_hpg_sco  = .false.   !  s-coordinate (standard jacobian formulation) 
    186186   ln_hpg_djc  = .false.   !  s-coordinate (Density Jacobian with Cubic polynomial) 
    187    ln_hpg_prj  = .false.   !  s-coordinate (Pressure Jacobian scheme) 
     187   ln_hpg_prj  = .true.    !  s-coordinate (Pressure Jacobian scheme) 
    188188/ 
    189189!----------------------------------------------------------------------- 
  • branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90

    r5917 r5927  
    439439      CHARACTER(len=100)                     ::   cn_dir        ! Root directory for location of data files 
    440440      CHARACTER(len=100), DIMENSION(nb_bdy)  ::   cn_dir_array  ! Root directory for location of data files 
     441      CHARACTER(len = 256)::   clname                           ! temporary file name 
    441442      LOGICAL                                ::   ln_full_vel   ! =T => full velocities in 3D boundary data 
    442443                                                                ! =F => baroclinic velocities in 3D boundary data 
     
    678679            ! sea ice 
    679680            IF( nn_ice_lim_dta(ib_bdy) .eq. 1 ) THEN 
    680  
    681681               ! Test for types of ice input (lim2 or lim3)  
    682                CALL iom_open ( bn_a_i%clname, inum ) 
    683                id1 = iom_varid ( inum, bn_a_i%clvar, kdimsz=zdimsz, kndims=zndims, ldstop = .FALSE. ) 
     682               ! Build file name to find dimensions  
     683               clname=TRIM(bn_a_i%clname) 
     684               IF( .NOT. bn_a_i%ln_clim ) THEN    
     685                                                  WRITE(clname, '(a,"_y",i4.4)' ) TRIM( bn_a_i%clname ), nyear    ! add year 
     686                  IF( bn_a_i%cltype /= 'yearly' ) WRITE(clname, '(a,"m" ,i2.2)' ) TRIM( clname        ), nmonth   ! add month 
     687               ELSE 
     688                  IF( bn_a_i%cltype /= 'yearly' ) WRITE(clname, '(a,"_m",i2.2)' ) TRIM( bn_a_i%clname ), nmonth   ! add month 
     689               ENDIF 
     690               IF( bn_a_i%cltype == 'daily' .OR. bn_a_i%cltype(1:4) == 'week' ) & 
     691               &                                  WRITE(clname, '(a,"d" ,i2.2)' ) TRIM( clname        ), nday     ! add day 
     692               ! 
     693               CALL iom_open  ( clname, inum ) 
     694               id1 = iom_varid( inum, bn_a_i%clvar, kdimsz=zdimsz, kndims=zndims, ldstop = .FALSE. ) 
    684695               CALL iom_close ( inum ) 
    685                !CALL fld_clopn ( bn_a_i, nyear, nmonth, nday, ldstop=.TRUE. ) 
    686                !CALL iom_open ( bn_a_i%clname, inum ) 
    687                !id1 = iom_varid ( bn_a_i%num, bn_a_i%clvar, kdimsz=zdimsz, kndims=zndims, ldstop = .FALSE. ) 
     696 
    688697                IF ( zndims == 4 ) THEN 
    689698                 ll_bdylim3 = .TRUE.   ! lim3 input 
  • branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90

    r5836 r5927  
    1818#endif 
    1919   USE dyncor_c1d      ! Coriolis term (c1d case)         (dyn_cor_1d     ) 
    20    USE dynnxt_c1d      ! time-stepping                    (dyn_nxt routine) 
     20   USE dynnxt          ! time-stepping                    (dyn_nxt routine) 
    2121   USE dyndmp          ! U & V momentum damping           (dyn_dmp routine) 
    2222   USE restart         ! restart  
     
    139139                        CALL dyn_cor_c1d( kstp )   ! vorticity term including Coriolis 
    140140                        CALL dyn_zdf    ( kstp )   ! vertical diffusion 
    141                         CALL dyn_nxt_c1d( kstp )   ! lateral velocity at next time step 
     141                        CALL dyn_nxt    ( kstp )   ! lateral velocity at next time step 
    142142 
    143143      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
  • branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r5917 r5927  
    3636   USE trd_oce         ! trends: ocean variables 
    3737   USE trddyn          ! trend manager: dynamics 
    38    USE zpshde          ! partial step: hor. derivative     (zps_hde routine) 
     38!jc   USE zpshde          ! partial step: hor. derivative     (zps_hde routine) 
    3939   ! 
    4040   USE in_out_manager  ! I/O manager 
     
    293293 
    294294      ! Partial steps: bottom before horizontal gradient of t, s, rd at the last ocean level 
    295       CALL zps_hde    ( kt, jpts, tsn, gtsu, gtsv, rhd, gru , grv ) 
     295!jc      CALL zps_hde    ( kt, jpts, tsn, gtsu, gtsv, rhd, gru , grv ) 
    296296 
    297297      ! Local constant initialization 
     
    494494 
    495495      ! Partial steps: top & bottom before horizontal gradient 
    496       CALL zps_hde_isf( kt, jpts, tsn, gtsu, gtsv, gtui, gtvi,   &  
    497                &       rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    498                &      grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi  ) 
     496!jc      CALL zps_hde_isf( kt, jpts, tsn, gtsu, gtsv, gtui, gtvi,   &  
     497!jc               &       rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
     498!jc               &      grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi  ) 
    499499 
    500500!==================================================================================      
  • branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r5908 r5927  
    3232   USE trd_oce        ! trends: ocean variables 
    3333   USE trddyn         ! trend manager: dynamics 
     34   USE c1d            ! 1D vertical configuration 
    3435   ! 
    3536   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
     
    662663      IF( ln_dynvor_een ) THEN   ;   ioptio = ioptio + 1   ;    nvor_scheme = np_EEN   ;   ENDIF 
    663664      ! 
    664       IF( ioptio /= 1 ) CALL ctl_stop( ' use ONE and ONLY one vorticity scheme' ) 
     665      IF( ( ioptio /= 1).AND.( .NOT.lk_c1d ) ) CALL ctl_stop( ' use ONE and ONLY one vorticity scheme' ) 
    665666      !                       
    666667      IF(lwp) WRITE(numout,*)        ! type of calculated vorticity (set ncor, nrvm, ntot) 
  • branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r5836 r5927  
    2626   USE ldftra         ! lateral diffusion: eddy diffusivity & EIV coeff. 
    2727   USE ldfslp         ! Lateral diffusion: slopes of neutral surfaces 
     28   USE c1d            ! 1D vertical configuration 
    2829   ! 
    2930   USE in_out_manager ! I/O manager 
     
    214215         CALL ctl_warn( 'tra_adv_init: You are running without tracer advection.' ) 
    215216      ENDIF 
    216       IF( ioptio /= 1 )   CALL ctl_stop( 'tra_adv_init: Choose ONE advection scheme in namelist namtra_adv' ) 
     217      IF( (ioptio /= 1).AND. (.NOT. lk_c1d ) ) &  
     218        CALL ctl_stop( 'tra_adv_init: Choose ONE advection scheme in namelist namtra_adv' ) 
    217219      ! 
    218220      IF( ln_traadv_cen .AND. ( nn_cen_h /= 2 .AND. nn_cen_h /= 4 )   &          ! Centered 
  • branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/NEMO/OPA_SRC/step.F90

    r5917 r5927  
    191191!!gm 
    192192                         CALL eos    ( tsn, rhd, rhop, fsdept_n(:,:,:) ) ! now in situ density for hpg computation 
     193 
     194!!jc: fs simplification 
     195!!jc: lines below useless if lk_vvl=T. Keep it here (which maintains a bug if lk_vvl=F and ln_zps=T, cf ticket #1636)  
     196!!                                     but ensures reproductible results 
     197!!                                     with previous versions using split-explicit free surface           
     198            IF( ln_zps .AND. .NOT. ln_isfcav)   &                           ! Partial steps: bottom before horizontal gradient 
     199               &            CALL zps_hde    ( kstp, jpts, tsn, gtsu, gtsv,  &  ! of t, s, rd at the last ocean level 
     200               &                                          rhd, gru , grv    ) 
     201            IF( ln_zps .AND.       ln_isfcav)   &                           ! Partial steps: top & bottom before horizontal gradient 
     202               &            CALL zps_hde_isf( kstp, jpts, tsn, gtsu, gtsv, gtui, gtvi,   &  
     203               &                                          rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
     204               &                                               grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) 
     205!!jc: fs simplification 
    193206                             
    194207                         ua(:,:,:) = 0._wp            ! set dynamics trends to zero 
Note: See TracChangeset for help on using the changeset viewer.