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 4294 – NEMO

Changeset 4294


Ignore:
Timestamp:
2013-11-20T18:04:09+01:00 (10 years ago)
Author:
cetlod
Message:

dev_MERGE_2013 : changes to improve compilation

Location:
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90

    r4292 r4294  
    845845               IF(lwp) THEN         ! Since all procs read global data only need to do this check on one proc... 
    846846                  IF( nbrdta(ib,igrd,ib_bdy) < nbrdta(ibm1,igrd,ib_bdy) ) THEN 
    847                      CALL ctl_stop('bdy_init : ERROR : boundary data in file must be defined in order of distance from edge nbr.', & 
    848                                    'A utility for re-ordering boundary coordinates and data files exists in the TOOLS/OBC directory') 
     847                     CALL ctl_stop('bdy_init : ERROR : boundary data in file must be defined ', & 
     848                          &        ' in order of distance from edge nbr A utility for re-ordering ', & 
     849                          &        ' boundary coordinates and data files exists in the TOOLS/OBC directory') 
    849850                  ENDIF     
    850851               ENDIF 
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/C1D/dtauvd.F90

    r4245 r4294  
    174174            DO ji = 1, jpi                ! determines the interpolated U & V current profiles at each (i,j) point 
    175175               DO jk = 1, jpk 
    176                   zl = fsdept_0(ji,jj,jk) 
    177                   IF    ( zl < gdept_0(1  ) ) THEN          ! extrapolate above the first level of data 
     176                  zl = fsdept(ji,jj,jk) 
     177                  IF    ( zl < gdept_1d(1  ) ) THEN          ! extrapolate above the first level of data 
    178178                     zup(jk) =  puvd(ji,jj,1    ,1) 
    179179                     zvp(jk) =  puvd(ji,jj,1    ,2) 
    180                   ELSEIF( zl > gdept_0(jpk) ) THEN          ! extrapolate below the last level of data 
     180                  ELSEIF( zl > gdept_1d(jpk) ) THEN          ! extrapolate below the last level of data 
    181181                     zup(jk) =  puvd(ji,jj,jpkm1,1) 
    182182                     zvp(jk) =  puvd(ji,jj,jpkm1,2) 
    183183                  ELSE                                      ! inbetween : vertical interpolation between jkk & jkk+1 
    184184                     DO jkk = 1, jpkm1                      ! when  gdept(jkk) < zl < gdept(jkk+1) 
    185                         IF( (zl-gdept_0(jkk)) * (zl-gdept_0(jkk+1)) <= 0._wp ) THEN 
    186                            zi = ( zl - gdept_0(jkk) ) / (gdept_0(jkk+1)-gdept_0(jkk)) 
     185                        IF( (zl-gdept_1d(jkk)) * (zl-gdept_1d(jkk+1)) <= 0._wp ) THEN 
     186                           zi = ( zl - gdept_1d(jkk) ) / (gdept_1d(jkk+1)-gdept_1d(jkk)) 
    187187                           zup(jk) = puvd(ji,jj,jkk,1) + ( puvd(ji,jj,jkk+1,1 ) - puvd(ji,jj,jkk,1) ) * zi  
    188188                           zvp(jk) = puvd(ji,jj,jkk,2) + ( puvd(ji,jj,jkk+1,2 ) - puvd(ji,jj,jkk,2) ) * zi 
     
    212212                  ik = mbkt(ji,jj)  
    213213                  IF( ik > 1 ) THEN 
    214                      zl = ( gdept_0(ik) - fsdept_0(ji,jj,ik) ) / ( gdept_0(ik) - gdept_0(ik-1) ) 
     214                     zl = ( gdept_1d(ik) - gdept_0(ji,jj,ik) ) / ( gdept_1d(ik) - gdept_1d(ik-1) ) 
    215215                     puvd(ji,jj,ik,1) = (1.-zl) * puvd(ji,jj,ik,1) + zl * puvd(ji,jj,ik-1,1) 
    216216                     puvd(ji,jj,ik,2) = (1.-zl) * puvd(ji,jj,ik,2) + zl * puvd(ji,jj,ik-1,2) 
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/CRS/crsdomwri.F90

    r4187 r4294  
    238238            DO jj = 1,jpj_crs    
    239239               DO ji = 1,jpi_crs 
    240                   zprt(ji,jj) = gdept(ji,jj,mbkt(ji,jj)  ) * tmask(ji,jj,1) 
    241                   zprw(ji,jj) = gdepw(ji,jj,mbkt(ji,jj)+1) * tmask(ji,jj,1) 
     240                  zprt(ji,jj) = gdept_0(ji,jj,mbkt(ji,jj)  ) * tmask(ji,jj,1) 
     241                  zprw(ji,jj) = gdepw_0(ji,jj,mbkt(ji,jj)+1) * tmask(ji,jj,1) 
    242242               END DO 
    243243            END DO 
     
    246246         ENDIF 
    247247 
    248          CALL iom_rstput( 0, 0, inum4, 'gdept_0', gdept_0 )     !    ! reference z-coord. 
    249          CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0 ) 
    250          CALL iom_rstput( 0, 0, inum4, 'e3t_0'  , e3t_0   ) 
    251          CALL iom_rstput( 0, 0, inum4, 'e3w_0'  , e3w_0   ) 
     248         CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )     !    ! reference z-coord. 
     249         CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 
     250         CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   ) 
     251         CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   ) 
    252252 
    253253         CALL iom_rstput(  0, 0, inum4, 'ocean_volume_t', ocean_volume_crs_t )  
     
    273273     IF( ln_zco ) THEN 
    274274         !                                                      ! z-coordinate - full steps 
    275         CALL iom_rstput( 0, 0, inum4, 'gdept_0', gdept_0 )     !    ! depth 
    276         CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0 ) 
    277         CALL iom_rstput( 0, 0, inum4, 'e3t_0'  , e3t_0   )     !    ! scale factors 
    278         CALL iom_rstput( 0, 0, inum4, 'e3w_0'  , e3w_0   ) 
     275        CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )     !    ! depth 
     276        CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 
     277        CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   )     !    ! scale factors 
     278        CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   ) 
    279279     ENDIF 
    280280      !                                     ! ============================ 
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90

    r4154 r4294  
    210210        DO ji = 1, jpi_crs 
    211211           DO jj = 1, jpj_crs 
    212               IF( e3t_crs(ji,jj,jk) == 0._wp ) e3t_crs(ji,jj,jk) = e3t_0(jk) 
    213               IF( e3w_crs(ji,jj,jk) == 0._wp ) e3w_crs(ji,jj,jk) = e3w_0(jk) 
    214               IF( e3u_crs(ji,jj,jk) == 0._wp ) e3u_crs(ji,jj,jk) = e3t_0(jk) 
    215               IF( e3v_crs(ji,jj,jk) == 0._wp ) e3v_crs(ji,jj,jk) = e3t_0(jk) 
     212              IF( e3t_crs(ji,jj,jk) == 0._wp ) e3t_crs(ji,jj,jk) = e3t_1d(jk) 
     213              IF( e3w_crs(ji,jj,jk) == 0._wp ) e3w_crs(ji,jj,jk) = e3w_1d(jk) 
     214              IF( e3u_crs(ji,jj,jk) == 0._wp ) e3u_crs(ji,jj,jk) = e3t_1d(jk) 
     215              IF( e3v_crs(ji,jj,jk) == 0._wp ) e3v_crs(ji,jj,jk) = e3t_1d(jk) 
    216216           ENDDO 
    217217        ENDDO 
     
    219219 
    220220     !    3.d.3   Vertical depth (meters) 
    221      CALL crs_dom_ope( gdept, 'MAX', 'T', tmask, gdept_crs, p_e3=zfse3t, psgn=1.0 )  
    222      CALL crs_dom_ope( gdepw, 'MAX', 'W', tmask, gdepw_crs, p_e3=zfse3w, psgn=1.0 ) 
     221     CALL crs_dom_ope( gdept_0, 'MAX', 'T', tmask, gdept_crs, p_e3=zfse3t, psgn=1.0 )  
     222     CALL crs_dom_ope( gdepw_0, 'MAX', 'W', tmask, gdepw_crs, p_e3=zfse3w, psgn=1.0 ) 
    223223 
    224224 
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r4292 r4294  
    4444 
    4545   !!* Namelist nam_vvl 
    46    LOGICAL , PUBLIC                                      :: ln_vvl_zstar           = .FALSE.   ! zstar  vertical coordinate 
    47    LOGICAL , PUBLIC                                      :: ln_vvl_ztilde          = .FALSE.   ! ztilde vertical coordinate 
    48    LOGICAL , PUBLIC                                      :: ln_vvl_layer           = .FALSE.   ! level  vertical coordinate 
    49    LOGICAL , PUBLIC                                      :: ln_vvl_ztilde_as_zstar = .FALSE.   ! ztilde vertical coordinate 
    50    LOGICAL , PUBLIC                                      :: ln_vvl_zstar_at_eqtor  = .FALSE.   ! ztilde vertical coordinate 
    51    LOGICAL , PUBLIC                                      :: ln_vvl_kepe            = .FALSE.   ! kinetic/potential energy transfer 
     46   LOGICAL , PUBLIC                                      :: ln_vvl_zstar              ! zstar  vertical coordinate 
     47   LOGICAL , PUBLIC                                      :: ln_vvl_ztilde             ! ztilde vertical coordinate 
     48   LOGICAL , PUBLIC                                      :: ln_vvl_layer              ! level  vertical coordinate 
     49   LOGICAL , PUBLIC                                      :: ln_vvl_ztilde_as_zstar    ! ztilde vertical coordinate 
     50   LOGICAL , PUBLIC                                      :: ln_vvl_zstar_at_eqtor     ! ztilde vertical coordinate 
     51   LOGICAL , PUBLIC                                      :: ln_vvl_kepe               ! kinetic/potential energy transfer 
    5252   !                                                                                           ! conservation: not used yet 
    53    REAL(wp)                                              :: rn_ahe3                =  0.0_wp   ! thickness diffusion coefficient 
    54    REAL(wp)                                              :: rn_rst_e3t             =  30._wp   ! ztilde to zstar restoration timescale [days] 
    55    REAL(wp)                                              :: rn_lf_cutoff           =  5.0_wp   ! cutoff frequency for low-pass filter  [days] 
    56    REAL(wp)                                              :: rn_zdef_max            =  0.9_wp   ! maximum fractional e3t deformation 
    57    LOGICAL , PUBLIC                                      :: ln_vvl_dbg             = .FALSE.   ! debug control prints 
     53   REAL(wp)                                              :: rn_ahe3                   ! thickness diffusion coefficient 
     54   REAL(wp)                                              :: rn_rst_e3t                ! ztilde to zstar restoration timescale [days] 
     55   REAL(wp)                                              :: rn_lf_cutoff              ! cutoff frequency for low-pass filter  [days] 
     56   REAL(wp)                                              :: rn_zdef_max               ! maximum fractional e3t deformation 
     57   LOGICAL , PUBLIC                                      :: ln_vvl_dbg                ! debug control prints 
    5858 
    5959   !! * Module variables 
     
    851851      !!---------------------------------------------------------------------- 
    852852      INTEGER ::   ioptio 
     853      INTEGER ::   ios 
    853854 
    854855      NAMELIST/nam_vvl/ ln_vvl_zstar, ln_vvl_ztilde, ln_vvl_layer, ln_vvl_ztilde_as_zstar, & 
     
    857858      !!----------------------------------------------------------------------  
    858859 
    859       REWIND ( numnam )               ! Read Namelist nam_vvl : vertical coordinate 
    860       READ   ( numnam, nam_vvl ) 
     860      REWIND( numnam_ref )              ! Namelist nam_vvl in reference namelist :  
     861      READ  ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901) 
     862901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist', lwp ) 
     863 
     864      REWIND( numnam_cfg )              ! Namelist nam_vvl in configuration namelist : Parameters of the run 
     865      READ  ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 
     866902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist', lwp ) 
     867      WRITE ( numond, nam_vvl ) 
    861868 
    862869      IF(lwp) THEN                    ! Namelist print 
Note: See TracChangeset for help on using the changeset viewer.