Changeset 14219 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/IOM/iom.F90
- Timestamp:
- 2020-12-18T18:52:57+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/IOM/iom.F90
r14072 r14219 98 98 !! * Substitutions 99 99 # include "do_loop_substitute.h90" 100 # include "single_precision_substitute.h90" 100 101 !!---------------------------------------------------------------------- 101 102 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 169 170 IF(.NOT.llrst_context) CALL set_scalar 170 171 ! 171 IF( cdname == cxios_context ) THEN172 CALL set_grid( "T", glamt, gphit, .FALSE., .FALSE. )172 IF( TRIM(cdname) == TRIM(cxios_context) ) THEN 173 CALL set_grid( "T", CASTWP(glamt), CASTWP(gphit), .FALSE., .FALSE. ) 173 174 CALL set_grid( "U", glamu, gphiu, .FALSE., .FALSE. ) 174 175 CALL set_grid( "V", glamv, gphiv, .FALSE., .FALSE. ) 175 CALL set_grid( "W", glamt, gphit, .FALSE., .FALSE. )176 CALL set_grid( "F", glamf, gphif, .FALSE., .FALSE. )177 CALL set_grid_znl( gphit)176 CALL set_grid( "W", CASTWP(glamt), CASTWP(gphit), .FALSE., .FALSE. ) 177 CALL set_grid( "F", CASTWP(glamf), CASTWP(gphif), .FALSE., .FALSE. ) 178 CALL set_grid_znl( CASTWP(gphit) ) 178 179 ! 179 180 IF( ln_cfmeta ) THEN ! Add additional grid metadata … … 181 182 CALL iom_set_domain_attr("grid_U", area = real( e1e2u(Nis0:Nie0, Njs0:Nje0), dp)) 182 183 CALL iom_set_domain_attr("grid_V", area = real( e1e2v(Nis0:Nie0, Njs0:Nje0), dp)) 183 CALL iom_set_domain_attr("grid_W", area = REAL( e1e2t(Nis0:Nie0, Njs0:Nje0), dp))184 CALL iom_set_domain_attr("grid_W", area = real( e1e2t(Nis0:Nie0, Njs0:Nje0), dp)) 184 185 CALL iom_set_domain_attr("grid_F", area = real( e1e2f(Nis0:Nie0, Njs0:Nje0), dp)) 185 CALL set_grid_bounds( "T", glamf, gphif, glamt, gphit)186 CALL set_grid_bounds( "T", CASTWP(glamf), CASTWP(gphif), CASTWP(glamt), CASTWP(gphit) ) 186 187 CALL set_grid_bounds( "U", glamv, gphiv, glamu, gphiu ) 187 188 CALL set_grid_bounds( "V", glamu, gphiu, glamv, gphiv ) 188 CALL set_grid_bounds( "W", glamf, gphif, glamt, gphit)189 CALL set_grid_bounds( "F", glamt, gphit, glamf, gphif)189 CALL set_grid_bounds( "W", CASTWP(glamf), CASTWP(gphif), CASTWP(glamt), CASTWP(gphit) ) 190 CALL set_grid_bounds( "F", CASTWP(glamt), CASTWP(gphit), CASTWP(glamf), CASTWP(gphif) ) 190 191 ENDIF 191 192 ENDIF … … 603 604 CALL xios_get_handle("domain_definition",domaingroup_hdl) 604 605 CALL xios_add_child(domaingroup_hdl, domain_hdl, "grid_N") 605 CALL set_grid("N", glamt, gphit, .TRUE., ld_rstr)606 CALL set_grid("N", CASTWP(glamt), CASTWP(gphit), .TRUE., ld_rstr) 606 607 607 608 CALL xios_get_handle("axis_definition",axisgroup_hdl) … … 1060 1061 INTEGER , INTENT(in ) , OPTIONAL :: ktime ! record number 1061 1062 CHARACTER(len=1), INTENT(in ) , OPTIONAL :: cd_type ! nature of grid-points (T, U, V, F, W) 1062 REAL( dp) , INTENT(in ) , OPTIONAL :: psgn ! -1.(1.): (not) change sign across the north fold1063 REAL(wp) , INTENT(in ) , OPTIONAL :: psgn ! -1.(1.): (not) change sign across the north fold 1063 1064 INTEGER , INTENT(in ) , OPTIONAL :: kfill ! value of kfillmode in lbc_lbk 1064 1065 INTEGER , INTENT(in ), DIMENSION(2), OPTIONAL :: kstart ! start axis position of the reading … … 1084 1085 INTEGER , INTENT(in ) , OPTIONAL :: ktime ! record number 1085 1086 CHARACTER(len=1), INTENT(in ) , OPTIONAL :: cd_type ! nature of grid-points (T, U, V, F, W) 1086 REAL( dp) , INTENT(in ) , OPTIONAL :: psgn ! -1.(1.): (not) change sign across the north fold1087 REAL(wp) , INTENT(in ) , OPTIONAL :: psgn ! -1.(1.): (not) change sign across the north fold 1087 1088 INTEGER , INTENT(in ) , OPTIONAL :: kfill ! value of kfillmode in lbc_lbk 1088 1089 INTEGER , INTENT(in ), DIMENSION(2), OPTIONAL :: kstart ! start axis position of the reading … … 1104 1105 INTEGER , INTENT(in ) , OPTIONAL :: ktime ! record number 1105 1106 CHARACTER(len=1), INTENT(in ) , OPTIONAL :: cd_type ! nature of grid-points (T, U, V, F, W) 1106 REAL( dp) , INTENT(in ) , OPTIONAL :: psgn ! -1.(1.) : (not) change sign across the north fold1107 REAL(wp) , INTENT(in ) , OPTIONAL :: psgn ! -1.(1.) : (not) change sign across the north fold 1107 1108 INTEGER , INTENT(in ) , OPTIONAL :: kfill ! value of kfillmode in lbc_lbk 1108 1109 INTEGER , INTENT(in ), DIMENSION(3), OPTIONAL :: kstart ! start axis position of the reading … … 1128 1129 INTEGER , INTENT(in ) , OPTIONAL :: ktime ! record number 1129 1130 CHARACTER(len=1), INTENT(in ) , OPTIONAL :: cd_type ! nature of grid-points (T, U, V, F, W) 1130 REAL( dp) , INTENT(in ) , OPTIONAL :: psgn ! -1.(1.) : (not) change sign across the north fold1131 REAL(wp) , INTENT(in ) , OPTIONAL :: psgn ! -1.(1.) : (not) change sign across the north fold 1131 1132 INTEGER , INTENT(in ) , OPTIONAL :: kfill ! value of kfillmode in lbc_lbk 1132 1133 INTEGER , INTENT(in ), DIMENSION(3), OPTIONAL :: kstart ! start axis position of the reading … … 1161 1162 INTEGER , INTENT(in ), OPTIONAL :: ktime ! record number 1162 1163 CHARACTER(len=1) , INTENT(in ), OPTIONAL :: cd_type ! nature of grid-points (T, U, V, F, W) 1163 REAL( dp) , INTENT(in ), OPTIONAL :: psgn ! -1.(1.) : (not) change sign across the north fold1164 REAL(wp) , INTENT(in ), OPTIONAL :: psgn ! -1.(1.) : (not) change sign across the north fold 1164 1165 INTEGER , INTENT(in ), OPTIONAL :: kfill ! value of kfillmode in lbc_lbk 1165 1166 INTEGER , DIMENSION(:) , INTENT(in ), OPTIONAL :: kstart ! start position of the reading in each axis … … 2664 2665 !! ** Purpose : send back the date corresponding to the given julian day 2665 2666 !!---------------------------------------------------------------------- 2666 REAL( wp), INTENT(in ) :: pjday ! julian day2667 REAL(dp), INTENT(in ) :: pjday ! julian day 2667 2668 LOGICAL , INTENT(in ), OPTIONAL :: ld24 ! true to force 24:00 instead of 00:00 2668 2669 LOGICAL , INTENT(in ), OPTIONAL :: ldfull ! true to get the compleate date: yyyymmdd_hh:mm:ss … … 2671 2672 CHARACTER(LEN=50) :: clfmt ! format used to write the date 2672 2673 INTEGER :: iyear, imonth, iday, ihour, iminute, isec 2673 REAL( wp) :: zsec2674 REAL(dp) :: zsec 2674 2675 LOGICAL :: ll24, llfull 2675 2676 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.