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 13369 for utils/tools/SIREN/src/grid_hgr.f90 – NEMO

Ignore:
Timestamp:
2020-07-31T10:50:52+02:00 (4 years ago)
Author:
jpaul
Message:

update: cf changelog inside documentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • utils/tools/SIREN/src/grid_hgr.f90

    r12080 r13369  
    77!> 
    88!> @details 
    9 !> ** Purpose :   Compute the geographical position (in degre) of the  
    10 !>      model grid-points,  the horizontal scale factors (in meters) and  
     9!> ** Purpose :   Compute the geographical position (in degre) of the 
     10!>      model grid-points,  the horizontal scale factors (in meters) and 
    1111!>      the Coriolis factor (in s-1). 
    1212!> 
    1313!> ** Method  :   The geographical position of the model grid-points is 
    1414!>    defined from analytical functions, fslam and fsphi, the derivatives of which gives the horizontal scale factors e1,e2. 
    15 !>    Defining two function fslam and fsphi and their derivatives in the two horizontal directions (fse1 and fse2),  
     15!>    Defining two function fslam and fsphi and their derivatives in the two horizontal directions (fse1 and fse2), 
    1616!>    the model grid-point position and scale factors are given by: 
    1717!>    - t-point: 
     
    4646!>      periodic, and the coriolis term again. 
    4747!> 
    48 !> ** Action  :  
     48!> ** Action  : 
    4949!>    - define  glamt, glamu, glamv, glamf: longitude of t-, u-, v- and f-points (in degre) 
    5050!>    - define  gphit, gphiu, gphiv, gphit: latitude  of t-, u-, v-  and f-points (in degre) 
     
    6060!> 
    6161!> @date March, 1988 - Original code 
    62 !> @date January, 1996  
     62!> @date January, 1996 
    6363!> - terrain following coordinates 
    64 !> @date February, 1997  
     64!> @date February, 1997 
    6565!> - print mesh informations 
    6666!> @date November, 1999 
     
    7676!> use of parameters in par_CONFIG-Rxx.h90, not in namelist 
    7777!> @date May, 2004 
    78 !> - A. Koch-Larrouy : Add Gyre configuration  
     78!> - A. Koch-Larrouy : Add Gyre configuration 
    7979!> @date February, 2011 
    8080!> - G. Madec : add cell surface (e1e2t) 
    81 !> @date September, 2015  
     81!> @date September, 2015 
    8282!> - J, Paul : rewrite to SIREN format from $Id: domhgr.F90 5506 2015-06-29 15:19:38Z clevy $ 
    8383!> @date October, 2016 
    8484!> - J, Paul : update from trunk (revision 6961): add wetting and drying, ice sheet coupling.. 
    85 !> - J, Paul : compute coriolis factor at f-point and at t-point  
     85!> - J, Paul : compute coriolis factor at f-point and at t-point 
    8686!> - J, Paul : do not use anymore special case for ORCA grid 
    8787!> 
     
    135135   PUBLIC :: tg_gphiv 
    136136   PUBLIC :: tg_gphif 
    137     
     137 
    138138   PUBLIC :: tg_e1t 
    139139   PUBLIC :: tg_e1u 
    140140   PUBLIC :: tg_e1v 
    141141   PUBLIC :: tg_e1f 
    142     
     142 
    143143   PUBLIC :: tg_e2t 
    144144   PUBLIC :: tg_e2u 
    145145   PUBLIC :: tg_e2v 
    146146   PUBLIC :: tg_e2f 
    147     
     147 
    148148   PUBLIC :: tg_ff_t 
    149149   PUBLIC :: tg_ff_f 
     
    160160 
    161161   ! function and subroutine 
    162    PUBLIC :: grid_hgr_init  
     162   PUBLIC :: grid_hgr_init 
    163163   PUBLIC :: grid_hgr_fill 
    164164   PUBLIC :: grid_hgr_clean 
    165    PUBLIC :: grid_hgr_nam  
     165   PUBLIC :: grid_hgr_nam 
    166166 
    167167   PRIVATE :: grid_hgr__fill_curv 
     
    175175   TYPE TNAMH 
    176176 
    177       CHARACTER(LEN=lc) :: c_coord    
    178       INTEGER(i4)       :: i_perio    
    179                  
    180       INTEGER(i4)       :: i_mshhgr   
    181       REAL(dp)          :: d_ppglam0  
    182       REAL(dp)          :: d_ppgphi0  
    183                  
     177      CHARACTER(LEN=lc) :: c_coord 
     178      INTEGER(i4)       :: i_perio 
     179 
     180      INTEGER(i4)       :: i_mshhgr 
     181      REAL(dp)          :: d_ppglam0 
     182      REAL(dp)          :: d_ppgphi0 
     183 
    184184      REAL(dp)          :: d_ppe1_deg 
    185185      REAL(dp)          :: d_ppe2_deg 
    186 !      REAL(dp)          :: d_ppe1_m   
    187 !      REAL(dp)          :: d_ppe2_m      
    188  
    189 !      INTEGER(i4)       :: i_cla      
    190                  
    191 !      CHARACTER(LEN=lc) :: c_cfg      
    192       INTEGER(i4)       :: i_cfg      
    193       LOGICAL           :: l_bench    
    194                  
     186!      REAL(dp)          :: d_ppe1_m 
     187!      REAL(dp)          :: d_ppe2_m 
     188 
     189!      INTEGER(i4)       :: i_cla 
     190 
     191!      CHARACTER(LEN=lc) :: c_cfg 
     192      INTEGER(i4)       :: i_cfg 
     193      LOGICAL           :: l_bench 
     194 
    195195   END TYPE 
    196196 
    197    TYPE(TVAR), SAVE :: tg_tmask    
     197   TYPE(TVAR), SAVE :: tg_tmask 
    198198   TYPE(TVAR), SAVE :: tg_umask 
    199199   TYPE(TVAR), SAVE :: tg_vmask 
     
    203203!   TYPE(TVAR), SAVE :: tg_wvmask 
    204204 
    205    TYPE(TVAR), SAVE :: tg_ssmask  
     205   TYPE(TVAR), SAVE :: tg_ssmask 
    206206!   TYPE(TVAR), SAVE :: tg_ssumask 
    207207!   TYPE(TVAR), SAVE :: tg_ssvmask 
     
    243243CONTAINS 
    244244   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    245    SUBROUTINE grid_hgr_init(jpi, jpj, jpk, ld_domcfg)  
     245   SUBROUTINE grid_hgr_init(jpi, jpj, jpk, ld_domcfg) 
    246246   !------------------------------------------------------------------- 
    247247   !> @brief This subroutine initialise hgr structure 
     
    256256      IMPLICIT NONE 
    257257 
    258       ! Argument       
     258      ! Argument 
    259259      INTEGER(i4), INTENT(IN) :: jpi 
    260260      INTEGER(i4), INTENT(IN) :: jpj 
     
    320320         tg_fmask   = var_init('fmask'  ,dl_tmp3D(:,:,:), dd_fill=dp_fill_i1, id_type=NF90_BYTE) 
    321321      ENDIF 
    322        
     322 
    323323!      tg_wmask   = var_init('wmask'  ,dl_tmp3D(:,:,:), dd_fill=dp_fill_i1, id_type=NF90_BYTE) 
    324324!      tg_wumask  = var_init('wumask' ,dl_tmp3D(:,:,:), dd_fill=dp_fill_i1, id_type=NF90_BYTE) 
     
    327327   END SUBROUTINE grid_hgr_init 
    328328   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    329    SUBROUTINE grid_hgr_clean(ld_domcfg)  
     329   SUBROUTINE grid_hgr_clean(ld_domcfg) 
    330330   !------------------------------------------------------------------- 
    331331   !> @brief This subroutine clean hgr structure 
     
    338338      IMPLICIT NONE 
    339339 
    340       ! Argument       
     340      ! Argument 
    341341      LOGICAL    , INTENT(IN) :: ld_domcfg 
    342342 
     
    397397   !> @date September, 2015 - Initial version 
    398398   !> 
    399    !> @param[in] cd_coord    
    400    !> @param[in] id_perio   
     399   !> @param[in] cd_coord 
     400   !> @param[in] id_perio 
    401401   !> @param[in] cd_namelist 
    402402   !> @return hgr namelist structure 
     
    405405      IMPLICIT NONE 
    406406 
    407       ! Argument       
     407      ! Argument 
    408408      CHARACTER(LEN=*), INTENT(IN) :: cd_coord 
    409       INTEGER(i4)     , INTENT(IN) :: id_perio    
     409      INTEGER(i4)     , INTENT(IN) :: id_perio 
    410410      CHARACTER(LEN=*), INTENT(IN) :: cd_namelist 
    411        
     411 
    412412      ! function 
    413413      TYPE(TNAMH)                  :: tf_namh 
     
    423423 
    424424      ! namhgr 
    425       INTEGER(i4)       :: in_mshhgr   = 0  
     425      INTEGER(i4)       :: in_mshhgr   = 0 
    426426      REAL(dp)          :: dn_ppglam0  = NF90_FILL_DOUBLE 
    427427      REAL(dp)          :: dn_ppgphi0  = NF90_FILL_DOUBLE 
     
    440440 
    441441      !---------------------------------------------------------------- 
    442       NAMELIST /namhgr/ &   
    443       &  in_mshhgr,     &  !< type of horizontal mesh  
     442      NAMELIST /namhgr/ & 
     443      &  in_mshhgr,     &  !< type of horizontal mesh 
    444444                           !< 0: curvilinear coordinate on the sphere read in coordinate.nc 
    445445                           !< 1: geographical mesh on the sphere with regular grid-spacing 
     
    461461!      &  cn_cfg,        &  !< name of the configuration (orca) 
    462462      &  in_cfg,        &  !< resolution of the configuration (2,1,025..) 
    463       &  ln_bench          !< benchmark parameter (in_mshhgr = 5 ).  
     463      &  ln_bench          !< benchmark parameter (in_mshhgr = 5 ). 
    464464 
    465465      !---------------------------------------------------------------- 
     
    467467      INQUIRE(FILE=TRIM(cd_namelist), EXIST=ll_exist) 
    468468      IF( ll_exist )THEN 
    469           
     469 
    470470         il_fileid=fct_getunit() 
    471471 
     
    491491            CALL logger_error("GRID HGR NAM: closing "//TRIM(cd_namelist)) 
    492492         ENDIF 
    493          
     493 
    494494         tf_namh%c_coord   = TRIM(cd_coord) 
    495495         tf_namh%i_perio   = id_perio 
     
    518518   END FUNCTION grid_hgr_nam 
    519519   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    520    SUBROUTINE grid_hgr_fill(td_nam, jpi, jpj, ld_domcfg)  
     520   SUBROUTINE grid_hgr_fill(td_nam, jpi, jpj, ld_domcfg) 
    521521   !------------------------------------------------------------------- 
    522522   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    532532      IMPLICIT NONE 
    533533 
    534       ! Argument       
     534      ! Argument 
    535535      TYPE(TNAMH), INTENT(IN) :: td_nam 
    536536      INTEGER(i4), INTENT(IN) :: jpi 
     
    555555            &  TRIM(fct_str(td_nam%d_ppe2_deg )) ) 
    556556!         CALL logger_info('   zonal      grid-spacing (meters)  ppe1_m   = '//& 
    557 !            &  TRIM(fct_str(td_nam%d_ppe1_m   )) )  
     557!            &  TRIM(fct_str(td_nam%d_ppe1_m   )) ) 
    558558!         CALL logger_info('   meridional grid-spacing (meters)  ppe2_m   = '//& 
    559 !            &  TRIM(fct_str(td_nam%d_ppe2_m   )) )  
     559!            &  TRIM(fct_str(td_nam%d_ppe2_m   )) ) 
    560560      ENDIF 
    561561 
     
    594594      ! create coriolis factor 
    595595      CALL grid_hgr__fill_coriolis(td_nam,jpi)!,jpj) 
    596       
     596 
    597597      ! Control of domain for symetrical condition 
    598598      ! ------------------------------------------ 
     
    609609      ! --------------------------------------------------------------- 
    610610      IF( .NOT. ld_domcfg )THEN 
    611          CALL grid_hgr__angle(td_nam,jpi,jpj)  
     611         CALL grid_hgr__angle(td_nam,jpi,jpj) 
    612612      ENDIF 
    613613 
    614614   END SUBROUTINE grid_hgr_fill 
    615615   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    616    SUBROUTINE grid_hgr__fill_curv(td_nam)!,jpi,jpj)  
     616   SUBROUTINE grid_hgr__fill_curv(td_nam)!,jpi,jpj) 
    617617   !------------------------------------------------------------------- 
    618618   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    626626   !> @param[in] td_nam 
    627627   ! @param[in] jpi 
    628    ! @param[in] jpj    
     628   ! @param[in] jpj 
    629629   !------------------------------------------------------------------- 
    630630 
    631631      IMPLICIT NONE 
    632632 
    633       ! Argument       
     633      ! Argument 
    634634      TYPE(TNAMH), INTENT(IN) :: td_nam 
    635635!      INTEGER(i4), INTENT(IN) :: jpi 
     
    652652      ELSE 
    653653         CALL logger_fatal("GRID HGR FILL: no input coordinates file found. "//& 
    654          &     "check namelist")       
     654         &     "check namelist") 
    655655      ENDIF 
    656656 
     
    702702!               ! Gibraltar Strait (e2u = 20 km) 
    703703!               ii0 = 139   ;   ii1 = 140 
    704 !               ij0 = 102   ;   ij1 = 102    
     704!               ij0 = 102   ;   ij1 = 102 
    705705!               ! e2u = 20 km 
    706706!               tg_e2u%d_value(ii0:ii1,ij0:ij1,1,1) =  20.e3 
     
    708708!               ! 
    709709!               ! Bab el Mandeb (e2u = 18 km) 
    710 !               ii0 = 160   ;   ii1 = 160  
    711 !               ij0 =  88   ;   ij1 =  88    
     710!               ii0 = 160   ;   ii1 = 160 
     711!               ij0 =  88   ;   ij1 =  88 
    712712!               ! e1v = 18 km 
    713713!               tg_e1v%d_value(ii0:ii1,ij0:ij1,1,1) =  18.e3 
     
    720720!            ! Danish Straits 
    721721!            ii0 = 145   ;   ii1 = 146 
    722 !            ij0 = 116   ;   ij1 = 116    
     722!            ij0 = 116   ;   ij1 = 116 
    723723!            ! e2u = 10 km 
    724724!            tg_e2u%d_value(ii0:ii1,ij0:ij1,1,1) =  10.e3 
     
    737737!         ! Gibraltar Strait (e2u = 20 km) 
    738738!         ii0 = 282           ;   ii1 = 283 
    739 !         ij0 = 201 + isrow   ;   ij1 = 241 - isrow  
     739!         ij0 = 201 + isrow   ;   ij1 = 241 - isrow 
    740740!         ! e2u = 20 km 
    741741!         tg_e2u%d_value(ii0:ii1,ij0:ij1,1,1) =  20.e3 
     
    850850   END SUBROUTINE grid_hgr__fill_curv 
    851851   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    852    SUBROUTINE grid_hgr__fill_reg(td_nam, jpi, jpj)  
     852   SUBROUTINE grid_hgr__fill_reg(td_nam, jpi, jpj) 
    853853   !------------------------------------------------------------------- 
    854854   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    860860   !> @param[in] td_nam 
    861861   !> @param[in] jpi 
    862    !> @param[in] jpj    
     862   !> @param[in] jpj 
    863863   !------------------------------------------------------------------- 
    864864 
    865865      IMPLICIT NONE 
    866866 
    867       ! Argument       
     867      ! Argument 
    868868      TYPE(TNAMH), INTENT(IN) :: td_nam 
    869869      INTEGER(i4), INTENT(IN) :: jpi 
     
    913913   END SUBROUTINE grid_hgr__fill_reg 
    914914   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    915    SUBROUTINE grid_hgr__fill_plan(td_nam, jpi, jpj)  
     915   SUBROUTINE grid_hgr__fill_plan(td_nam, jpi, jpj) 
    916916   !------------------------------------------------------------------- 
    917917   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    923923   !> @param[in] td_nam 
    924924   !> @param[in] jpi 
    925    !> @param[in] jpj    
     925   !> @param[in] jpj 
    926926   !------------------------------------------------------------------- 
    927927 
    928928      IMPLICIT NONE 
    929929 
    930       ! Argument       
     930      ! Argument 
    931931      TYPE(TNAMH), INTENT(IN) :: td_nam 
    932932      INTEGER(i4), INTENT(IN) :: jpi 
     
    961961            tg_glamv%d_value(ji,jj,1,1) = tg_glamt%d_value(ji,jj,1,1) 
    962962            tg_glamf%d_value(ji,jj,1,1) = tg_glamu%d_value(ji,jj,1,1) 
    963     
     963 
    964964            !tg_gphit%d_value(ji,jj,1,1) = dl_gphi0 + td_nam%d_ppe2_m * 1.e-3 * ( FLOAT( jj - 1 )       ) 
    965965            tg_gphit%d_value(ji,jj,1,1) = dl_gphi0 + td_nam%d_ppe2_deg * 1.e-3 * ( FLOAT( jj - 1 )       ) 
     
    973973      ! Horizontal scale factors (in meters) 
    974974      !                              ====== 
    975 !      tg_e1t%d_value(:,:,1,1) = td_nam%d_ppe1_m       
    976 !      tg_e1u%d_value(:,:,1,1) = td_nam%d_ppe1_m       
    977 !      tg_e1v%d_value(:,:,1,1) = td_nam%d_ppe1_m       
    978 !      tg_e1f%d_value(:,:,1,1) = td_nam%d_ppe1_m       
    979       tg_e1t%d_value(:,:,1,1) = td_nam%d_ppe1_deg       
    980       tg_e1u%d_value(:,:,1,1) = td_nam%d_ppe1_deg       
    981       tg_e1v%d_value(:,:,1,1) = td_nam%d_ppe1_deg       
    982       tg_e1f%d_value(:,:,1,1) = td_nam%d_ppe1_deg       
     975!      tg_e1t%d_value(:,:,1,1) = td_nam%d_ppe1_m 
     976!      tg_e1u%d_value(:,:,1,1) = td_nam%d_ppe1_m 
     977!      tg_e1v%d_value(:,:,1,1) = td_nam%d_ppe1_m 
     978!      tg_e1f%d_value(:,:,1,1) = td_nam%d_ppe1_m 
     979      tg_e1t%d_value(:,:,1,1) = td_nam%d_ppe1_deg 
     980      tg_e1u%d_value(:,:,1,1) = td_nam%d_ppe1_deg 
     981      tg_e1v%d_value(:,:,1,1) = td_nam%d_ppe1_deg 
     982      tg_e1f%d_value(:,:,1,1) = td_nam%d_ppe1_deg 
    983983 
    984984!      tg_e2t%d_value(:,:,1,1) = td_nam%d_ppe2_m 
     
    993993   END SUBROUTINE grid_hgr__fill_plan 
    994994   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    995    SUBROUTINE grid_hgr__fill_merc(td_nam, jpi, jpj)  
     995   SUBROUTINE grid_hgr__fill_merc(td_nam, jpi, jpj) 
    996996   !------------------------------------------------------------------- 
    997997   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    10031003   !> @param[in] td_nam 
    10041004   !> @param[in] jpi 
    1005    !> @param[in] jpj    
     1005   !> @param[in] jpj 
    10061006   !------------------------------------------------------------------- 
    10071007 
    10081008      IMPLICIT NONE 
    10091009 
    1010       ! Argument       
     1010      ! Argument 
    10111011      TYPE(TNAMH), INTENT(IN) :: td_nam 
    10121012      INTEGER(i4), INTENT(IN) :: jpi 
     
    10731073   END SUBROUTINE grid_hgr__fill_merc 
    10741074   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1075    SUBROUTINE grid_hgr__fill_gyre(td_nam, jpi, jpj)  
     1075   SUBROUTINE grid_hgr__fill_gyre(td_nam, jpi, jpj) 
    10761076   !------------------------------------------------------------------- 
    10771077   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    10881088      IMPLICIT NONE 
    10891089 
    1090       ! Argument       
     1090      ! Argument 
    10911091      TYPE(TNAMH), INTENT(IN) :: td_nam 
    10921092      INTEGER(i4), INTENT(IN) :: jpi 
     
    11141114      zphi1 = 29 
    11151115      ! resolution in meters 
    1116       ze1 = 106000. / FLOAT(td_nam%i_cfg)             
     1116      ze1 = 106000. / FLOAT(td_nam%i_cfg) 
    11171117      ! benchmark: forced the resolution to be about 100 km 
    1118       IF( td_nam%l_bench )   ze1 = 106000.e0      
     1118      IF( td_nam%l_bench )   ze1 = 106000.e0 
    11191119      zsin_alpha = - SQRT( 2. ) / 2. 
    11201120      zcos_alpha =   SQRT( 2. ) / 2. 
     
    11451145                                        & + zim1  * ze1deg * zcos_alpha & 
    11461146                                        & + zjm05 * ze1deg * zsin_alpha 
    1147             tg_gphiu%d_value(ji,jj,1,1) = dl_gphi0 &  
     1147            tg_gphiu%d_value(ji,jj,1,1) = dl_gphi0 & 
    11481148                                        & - zim1  * ze1deg * zsin_alpha & 
    11491149                                        & + zjm05 * ze1deg * zcos_alpha 
     
    11611161      ! Horizontal scale factors (in meters) 
    11621162      !                              ====== 
    1163       tg_e1t%d_value(:,:,1,1) = ze1       
    1164       tg_e1u%d_value(:,:,1,1) = ze1       
    1165       tg_e1v%d_value(:,:,1,1) = ze1       
    1166       tg_e1f%d_value(:,:,1,1) = ze1       
     1163      tg_e1t%d_value(:,:,1,1) = ze1 
     1164      tg_e1u%d_value(:,:,1,1) = ze1 
     1165      tg_e1v%d_value(:,:,1,1) = ze1 
     1166      tg_e1f%d_value(:,:,1,1) = ze1 
    11671167 
    11681168      tg_e2t%d_value(:,:,1,1) = ze1 
     
    11731173   END SUBROUTINE grid_hgr__fill_gyre 
    11741174   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1175    SUBROUTINE grid_hgr__fill_coriolis(td_nam, jpi)!,jpj)  
     1175   SUBROUTINE grid_hgr__fill_coriolis(td_nam, jpi)!,jpj) 
    11761176   !------------------------------------------------------------------- 
    11771177   !> @brief This subroutine fill coriolis factor 
     
    11891189      IMPLICIT NONE 
    11901190 
    1191       ! Argument       
     1191      ! Argument 
    11921192      TYPE(TNAMH), INTENT(IN) :: td_nam 
    11931193      INTEGER(i4), INTENT(IN) :: jpi 
     
    11961196      ! local variable 
    11971197      REAL(dp) :: zbeta 
    1198       REAL(dp) :: zphi0   
     1198      REAL(dp) :: zphi0 
    11991199      REAL(dp) :: zf0 
    12001200 
     
    12101210            tg_ff_t%d_value(:,:,1,1) = 2. * dp_omega * SIN(dp_deg2rad * tg_gphit%d_value(:,:,1,1)) ! at t-point 
    12111211 
    1212          CASE ( 2 )  ! f-plane at ppgphi0  
     1212         CASE ( 2 )  ! f-plane at ppgphi0 
    12131213 
    12141214            tg_ff_f%d_value(:,:,1,1) = 2. * dp_omega * SIN( dp_deg2rad * td_nam%d_ppgphi0 ) 
     
    12581258   !> 
    12591259   !> ** Action  :   Compute (gsint, gcost, gsinu, gcosu, gsinv, gcosv, gsinf, gcosf) arrays: 
    1260    !>      sinus and cosinus of the angle between the north-south axe and the  
     1260   !>      sinus and cosinus of the angle between the north-south axe and the 
    12611261   !>      j-direction at t, u, v and f-points 
    12621262   !> 
     
    12831283 
    12841284      ! local variable 
    1285       REAL(dp) :: zlam, zphi           
    1286       REAL(dp) :: zlan, zphh           
     1285      REAL(dp) :: zlam, zphi 
     1286      REAL(dp) :: zlan, zphh 
    12871287      REAL(dp) :: zxnpt, zynpt, znnpt ! x,y components and norm of the vector: T point to North Pole 
    12881288      REAL(dp) :: zxnpu, zynpu, znnpu ! x,y components and norm of the vector: U point to North Pole 
     
    14311431 
    14321432      ! lateral boundary cond.: T-, U-, V-, F-pts, sgn 
    1433       CALL lbc_lnk( tg_gcost%d_value(:,:,1,1), 'T', td_nam%i_perio, -1._dp )    
    1434       CALL lbc_lnk( tg_gcosu%d_value(:,:,1,1), 'U', td_nam%i_perio, -1._dp )    
    1435       CALL lbc_lnk( tg_gcosv%d_value(:,:,1,1), 'V', td_nam%i_perio, -1._dp )    
    1436       CALL lbc_lnk( tg_gcosf%d_value(:,:,1,1), 'F', td_nam%i_perio, -1._dp )    
     1433      CALL lbc_lnk( tg_gcost%d_value(:,:,1,1), 'T', td_nam%i_perio, -1._dp ) 
     1434      CALL lbc_lnk( tg_gcosu%d_value(:,:,1,1), 'U', td_nam%i_perio, -1._dp ) 
     1435      CALL lbc_lnk( tg_gcosv%d_value(:,:,1,1), 'V', td_nam%i_perio, -1._dp ) 
     1436      CALL lbc_lnk( tg_gcosf%d_value(:,:,1,1), 'F', td_nam%i_perio, -1._dp ) 
    14371437 
    14381438      CALL lbc_lnk( tg_gsint%d_value(:,:,1,1), 'T', td_nam%i_perio, -1._dp ) 
Note: See TracChangeset for help on using the changeset viewer.