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

Ignore:
Timestamp:
2019-12-06T10:30:14+01:00 (4 years ago)
Author:
jpaul
Message:

update nemo trunk

File:
1 edited

Legend:

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

    r9598 r12080  
    22! NEMO system team, System and Interface for oceanic RElocable Nesting 
    33!---------------------------------------------------------------------- 
    4 ! 
    5 ! MODULE: grid_hgr 
    64! 
    75! DESCRIPTION: 
     
    6058!> @author 
    6159!> G, Madec 
    62 ! REVISION HISTORY: 
     60!> 
    6361!> @date March, 1988 - Original code 
    6462!> @date January, 1996  
     
    8886!> - J, Paul : do not use anymore special case for ORCA grid 
    8987!> 
    90 !> @note Software governed by the CeCILL licence     (./LICENSE) 
     88!> @note Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    9189!---------------------------------------------------------------------- 
    9290MODULE grid_hgr 
     91 
    9392   USE netcdf                          ! nf90 library 
    9493   USE kind                            ! F90 kind parameter 
     
    106105   USE iom_mpp                         ! I/O MPP manager 
    107106   USE lbc                             ! lateral boundary conditions 
     107 
    108108   IMPLICIT NONE 
    109109   ! NOTE_avoid_public_variables_if_possible 
     
    242242 
    243243CONTAINS 
    244    !------------------------------------------------------------------- 
    245    !> @brief This function initialise hgr structure 
     244   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     245   SUBROUTINE grid_hgr_init(jpi, jpj, jpk, ld_domcfg)  
     246   !------------------------------------------------------------------- 
     247   !> @brief This subroutine initialise hgr structure 
    246248   !> 
    247249   !> @author J.Paul 
     
    251253   !> @param[in] jpj 
    252254   !------------------------------------------------------------------- 
    253    SUBROUTINE grid_hgr_init(jpi,jpj,jpk,ld_domcfg)  
     255 
    254256      IMPLICIT NONE 
     257 
    255258      ! Argument       
    256259      INTEGER(i4), INTENT(IN) :: jpi 
     
    323326 
    324327   END SUBROUTINE grid_hgr_init 
    325    !------------------------------------------------------------------- 
    326    !> @brief This function clean hgr structure 
     328   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     329   SUBROUTINE grid_hgr_clean(ld_domcfg)  
     330   !------------------------------------------------------------------- 
     331   !> @brief This subroutine clean hgr structure 
    327332   !> 
    328333   !> @author J.Paul 
     
    330335   !> 
    331336   !------------------------------------------------------------------- 
    332    SUBROUTINE grid_hgr_clean(ld_domcfg)  
     337 
    333338      IMPLICIT NONE 
     339 
    334340      ! Argument       
    335341      LOGICAL    , INTENT(IN) :: ld_domcfg 
     
    382388      ENDIF 
    383389   END SUBROUTINE grid_hgr_clean 
     390   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     391   FUNCTION grid_hgr_nam(cd_coord, id_perio, cd_namelist) & 
     392         & RESULT (tf_namh) 
    384393   !------------------------------------------------------------------- 
    385394   !> @brief This function initialise hgr namelist structure 
     
    393402   !> @return hgr namelist structure 
    394403   !------------------------------------------------------------------- 
    395    FUNCTION grid_hgr_nam( cd_coord,id_perio,cd_namelist ) 
     404 
    396405      IMPLICIT NONE 
     406 
    397407      ! Argument       
    398408      CHARACTER(LEN=*), INTENT(IN) :: cd_coord 
     
    401411       
    402412      ! function 
    403       TYPE(TNAMH) :: grid_hgr_nam 
     413      TYPE(TNAMH)                  :: tf_namh 
    404414 
    405415      ! local variable 
     
    461471 
    462472         OPEN( il_fileid, FILE=TRIM(cd_namelist), & 
    463          &                FORM='FORMATTED',       & 
    464          &                ACCESS='SEQUENTIAL',    & 
    465          &                STATUS='OLD',           & 
    466          &                ACTION='READ',          & 
    467          &                IOSTAT=il_status) 
     473            &             FORM='FORMATTED',       & 
     474            &             ACCESS='SEQUENTIAL',    & 
     475            &             STATUS='OLD',           & 
     476            &             ACTION='READ',          & 
     477            &             IOSTAT=il_status) 
    468478         CALL fct_err(il_status) 
    469479         IF( il_status /= 0 )THEN 
     
    482492         ENDIF 
    483493         
    484          grid_hgr_nam%c_coord   = TRIM(cd_coord) 
    485          grid_hgr_nam%i_perio   = id_perio 
    486  
    487          grid_hgr_nam%i_mshhgr  = in_mshhgr 
    488          grid_hgr_nam%d_ppglam0 = dn_ppglam0 
    489          grid_hgr_nam%d_ppgphi0 = dn_ppgphi0 
    490  
    491          grid_hgr_nam%d_ppe1_deg= dn_ppe1_deg 
    492          grid_hgr_nam%d_ppe2_deg= dn_ppe2_deg 
    493 !         grid_hgr_nam%d_ppe1_m  = dn_ppe1_m 
    494 !         grid_hgr_nam%d_ppe2_m  = dn_ppe2_m 
    495  
    496 !         grid_hgr_nam%i_cla     = in_cla 
    497  
    498 !         grid_hgr_nam%c_cfg     = TRIM(cn_cfg) 
    499          grid_hgr_nam%i_cfg     = in_cfg 
    500          grid_hgr_nam%l_bench   = ln_bench 
     494         tf_namh%c_coord   = TRIM(cd_coord) 
     495         tf_namh%i_perio   = id_perio 
     496 
     497         tf_namh%i_mshhgr  = in_mshhgr 
     498         tf_namh%d_ppglam0 = dn_ppglam0 
     499         tf_namh%d_ppgphi0 = dn_ppgphi0 
     500 
     501         tf_namh%d_ppe1_deg= dn_ppe1_deg 
     502         tf_namh%d_ppe2_deg= dn_ppe2_deg 
     503!         tf_namh%d_ppe1_m  = dn_ppe1_m 
     504!         tf_namh%d_ppe2_m  = dn_ppe2_m 
     505 
     506!         tf_namh%i_cla     = in_cla 
     507 
     508!         tf_namh%c_cfg     = TRIM(cn_cfg) 
     509         tf_namh%i_cfg     = in_cfg 
     510         tf_namh%l_bench   = ln_bench 
    501511 
    502512      ELSE 
     
    507517 
    508518   END FUNCTION grid_hgr_nam 
     519   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     520   SUBROUTINE grid_hgr_fill(td_nam, jpi, jpj, ld_domcfg)  
    509521   !------------------------------------------------------------------- 
    510522   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    517529   !> @param[in] jpj 
    518530   !------------------------------------------------------------------- 
    519    SUBROUTINE grid_hgr_fill(td_nam,jpi,jpj,ld_domcfg)  
     531 
    520532      IMPLICIT NONE 
     533 
    521534      ! Argument       
    522535      TYPE(TNAMH), INTENT(IN) :: td_nam 
     
    600613 
    601614   END SUBROUTINE grid_hgr_fill 
     615   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     616   SUBROUTINE grid_hgr__fill_curv(td_nam)!,jpi,jpj)  
    602617   !------------------------------------------------------------------- 
    603618   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    613628   ! @param[in] jpj    
    614629   !------------------------------------------------------------------- 
    615    SUBROUTINE grid_hgr__fill_curv( td_nam )!,jpi,jpj )  
     630 
    616631      IMPLICIT NONE 
     632 
    617633      ! Argument       
    618634      TYPE(TNAMH), INTENT(IN) :: td_nam 
     
    833849 
    834850   END SUBROUTINE grid_hgr__fill_curv 
     851   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     852   SUBROUTINE grid_hgr__fill_reg(td_nam, jpi, jpj)  
    835853   !------------------------------------------------------------------- 
    836854   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    844862   !> @param[in] jpj    
    845863   !------------------------------------------------------------------- 
    846    SUBROUTINE grid_hgr__fill_reg(td_nam,jpi,jpj)  
     864 
    847865      IMPLICIT NONE 
     866 
    848867      ! Argument       
    849868      TYPE(TNAMH), INTENT(IN) :: td_nam 
     
    893912 
    894913   END SUBROUTINE grid_hgr__fill_reg 
     914   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     915   SUBROUTINE grid_hgr__fill_plan(td_nam, jpi, jpj)  
    895916   !------------------------------------------------------------------- 
    896917   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    904925   !> @param[in] jpj    
    905926   !------------------------------------------------------------------- 
    906    SUBROUTINE grid_hgr__fill_plan(td_nam,jpi,jpj)  
     927 
    907928      IMPLICIT NONE 
     929 
    908930      ! Argument       
    909931      TYPE(TNAMH), INTENT(IN) :: td_nam 
     
    970992 
    971993   END SUBROUTINE grid_hgr__fill_plan 
     994   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     995   SUBROUTINE grid_hgr__fill_merc(td_nam, jpi, jpj)  
    972996   !------------------------------------------------------------------- 
    973997   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    9811005   !> @param[in] jpj    
    9821006   !------------------------------------------------------------------- 
    983    SUBROUTINE grid_hgr__fill_merc(td_nam,jpi,jpj)  
     1007 
    9841008      IMPLICIT NONE 
     1009 
    9851010      ! Argument       
    9861011      TYPE(TNAMH), INTENT(IN) :: td_nam 
     
    10471072 
    10481073   END SUBROUTINE grid_hgr__fill_merc 
     1074   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     1075   SUBROUTINE grid_hgr__fill_gyre(td_nam, jpi, jpj)  
    10491076   !------------------------------------------------------------------- 
    10501077   !> @brief This subroutine fill horizontal mesh (hgr structure) 
     
    10581085   !> @param[in] jpj 
    10591086   !------------------------------------------------------------------- 
    1060    SUBROUTINE grid_hgr__fill_gyre(td_nam,jpi,jpj)  
     1087 
    10611088      IMPLICIT NONE 
     1089 
    10621090      ! Argument       
    10631091      TYPE(TNAMH), INTENT(IN) :: td_nam 
     
    11441172 
    11451173   END SUBROUTINE grid_hgr__fill_gyre 
     1174   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     1175   SUBROUTINE grid_hgr__fill_coriolis(td_nam, jpi)!,jpj)  
    11461176   !------------------------------------------------------------------- 
    11471177   !> @brief This subroutine fill coriolis factor 
     
    11561186   ! @param[in] jpj 
    11571187   !------------------------------------------------------------------- 
    1158    SUBROUTINE grid_hgr__fill_coriolis(td_nam,jpi)!,jpj)  
     1188 
    11591189      IMPLICIT NONE 
     1190 
    11601191      ! Argument       
    11611192      TYPE(TNAMH), INTENT(IN) :: td_nam 
     
    12181249 
    12191250   END SUBROUTINE grid_hgr__fill_coriolis 
     1251   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     1252   SUBROUTINE grid_hgr__angle(td_nam, jpi, jpj) 
    12201253   !!---------------------------------------------------------------------- 
    1221    !! @brief This subroutine compute angles between model grid lines and the North direction 
     1254   !> @brief This subroutine compute angles between model grid lines and the North direction 
    12221255   !> 
    12231256   !> @details 
     
    12411274   !> @param[in] jpj 
    12421275   !!---------------------------------------------------------------------- 
    1243    SUBROUTINE grid_hgr__angle(td_nam, jpi,jpj) 
     1276 
    12441277      IMPLICIT NONE 
     1278 
    12451279      ! Argument 
    12461280      TYPE(TNAMH), INTENT(IN) :: td_nam 
     
    14081442 
    14091443   END SUBROUTINE grid_hgr__angle 
     1444   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14101445END MODULE grid_hgr 
Note: See TracChangeset for help on using the changeset viewer.