- Timestamp:
- 2019-11-28T11:35:08+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11643_ENHANCE-11_CEthe_Shaconemo_diags/src/OCE/IOM/iom.F90
r11554 r11995 56 56 LOGICAL, PUBLIC, PARAMETER :: lk_iomput = .FALSE. !: iom_put flag 57 57 #endif 58 PUBLIC iom_init, iom_swap, iom_open, iom_close, iom_setkt, iom_varid, iom_get 58 PUBLIC iom_init, iom_swap, iom_open, iom_close, iom_setkt, iom_varid, iom_get, iom_get_var 59 59 PUBLIC iom_chkatt, iom_getatt, iom_putatt, iom_getszuld, iom_rstput, iom_delay_rst, iom_put 60 60 PUBLIC iom_use, iom_context_finalize, iom_miss_val … … 62 62 PRIVATE iom_rp0d, iom_rp1d, iom_rp2d, iom_rp3d 63 63 PRIVATE iom_g0d, iom_g1d, iom_g2d, iom_g3d, iom_get_123d 64 PRIVATE iom_p1d, iom_p2d, iom_p3d 64 PRIVATE iom_p1d, iom_p2d, iom_p3d, iom_p4d 65 65 #if defined key_iomput 66 66 PRIVATE iom_set_domain_attr, iom_set_axis_attr, iom_set_field_attr, iom_set_file_attr, iom_get_file_attr, iom_set_grid_attr … … 83 83 END INTERFACE 84 84 INTERFACE iom_put 85 MODULE PROCEDURE iom_p0d, iom_p1d, iom_p2d, iom_p3d 85 MODULE PROCEDURE iom_p0d, iom_p1d, iom_p2d, iom_p3d, iom_p4d 86 86 END INTERFACE iom_put 87 87 … … 108 108 TYPE(xios_date) :: start_date 109 109 CHARACTER(len=lc) :: clname 110 INTEGER :: irefyear, irefmonth, irefday 110 111 INTEGER :: ji, jkmin 111 112 LOGICAL :: llrst_context ! is context related to restart … … 139 140 140 141 ! Calendar type is now defined in xml file 142 IF (.NOT.(xios_getvar('ref_year' ,irefyear ))) irefyear = 1900 143 IF (.NOT.(xios_getvar('ref_month',irefmonth))) irefmonth = 01 144 IF (.NOT.(xios_getvar('ref_day' ,irefday ))) irefday = 01 145 141 146 SELECT CASE ( nleapy ) ! Choose calendar for IOIPSL 142 CASE ( 1) ; CALL xios_define_calendar( TYPE = "Gregorian", time_origin = xios_date( 1900,01,01,00,00,00), &147 CASE ( 1) ; CALL xios_define_calendar( TYPE = "Gregorian", time_origin = xios_date(irefyear,irefmonth,irefday,00,00,00), & 143 148 & start_date = xios_date(nyear,nmonth,nday,0,0,0) ) 144 CASE ( 0) ; CALL xios_define_calendar( TYPE = "NoLeap" , time_origin = xios_date( 1900,01,01,00,00,00), &149 CASE ( 0) ; CALL xios_define_calendar( TYPE = "NoLeap" , time_origin = xios_date(irefyear,irefmonth,irefday,00,00,00), & 145 150 & start_date = xios_date(nyear,nmonth,nday,0,0,0) ) 146 CASE (30) ; CALL xios_define_calendar( TYPE = "D360" , time_origin = xios_date( 1900,01,01,00,00,00), &151 CASE (30) ; CALL xios_define_calendar( TYPE = "D360" , time_origin = xios_date(irefyear,irefmonth,irefday,00,00,00), & 147 152 & start_date = xios_date(nyear,nmonth,nday,0,0,0) ) 148 153 END SELECT … … 223 228 CALL iom_set_axis_attr( "icbcla", class_num ) 224 229 CALL iom_set_axis_attr( "iax_20C", (/ REAL(20,wp) /) ) ! strange syntaxe and idea... 230 CALL iom_set_axis_attr( "iax_26C", (/ REAL(26,wp) /) ) ! strange syntaxe and idea... 225 231 CALL iom_set_axis_attr( "iax_28C", (/ REAL(28,wp) /) ) ! strange syntaxe and idea... 232 CALL iom_set_axis_attr( "basin" , (/ (REAL(ji,wp), ji=1,5) /) ) 226 233 ENDIF 227 234 ! … … 1340 1347 END SUBROUTINE iom_get_123d 1341 1348 1349 SUBROUTINE iom_get_var( cdname, z2d) 1350 CHARACTER(LEN=*), INTENT(in ) :: cdname 1351 REAL(wp), DIMENSION(jpi,jpj) :: z2d 1352 #if defined key_iomput 1353 IF( xios_field_is_active( cdname, at_current_timestep_arg = .TRUE. ) ) THEN 1354 z2d(:,:) = 0._wp 1355 CALL xios_recv_field( cdname, z2d) 1356 ENDIF 1357 #else 1358 IF( .FALSE. ) WRITE(numout,*) cdname, z2d ! useless test to avoid compilation warnings 1359 #endif 1360 END SUBROUTINE iom_get_var 1361 1342 1362 1343 1363 FUNCTION iom_getszuld ( kiomid ) … … 1709 1729 END SUBROUTINE iom_p3d 1710 1730 1731 SUBROUTINE iom_p4d( cdname, pfield4d ) 1732 CHARACTER(LEN=*) , INTENT(in) :: cdname 1733 REAL(wp), DIMENSION(:,:,:,:), INTENT(in) :: pfield4d 1734 #if defined key_iomput 1735 CALL xios_send_field(cdname, pfield4d) 1736 #else 1737 IF( .FALSE. ) WRITE(numout,*) cdname, pfield4d ! useless test to avoid compilation warnings 1738 #endif 1739 END SUBROUTINE iom_p4d 1740 1741 1711 1742 #if defined key_iomput 1712 1743 !!---------------------------------------------------------------------- … … 2051 2082 ALLOCATE( zlon(ni*nj) ) ; zlon(:) = 0._wp 2052 2083 ! 2053 CALL dom_ngb( -168.53, 65.03, ix, iy, 'T' ) ! i-line that passes through Bering Strait: Reference latitude (used in plots)2054 !CALL dom_ngb( 180., 90., ix, iy, 'T' ) ! i-line that passes near the North Pole : Reference latitude (used in plots)2084 ! CALL dom_ngb( -168.53, 65.03, ix, iy, 'T' ) ! i-line that passes through Bering Strait: Reference latitude (used in plots) 2085 CALL dom_ngb( 180., 90., ix, iy, 'T' ) ! i-line that passes near the North Pole : Reference latitude (used in plots) 2055 2086 CALL iom_set_domain_attr("gznl", ni_glo=jpiglo, nj_glo=jpjglo, ibegin=nimpp+nldi-2, jbegin=njmpp+nldj-2, ni=ni, nj=nj) 2056 2087 CALL iom_set_domain_attr("gznl", data_dim=2, data_ibegin = 1-nldi, data_ni = jpi, data_jbegin = 1-nldj, data_nj = jpj) 2057 2088 CALL iom_set_domain_attr("gznl", lonvalue = zlon, & 2058 2089 & latvalue = RESHAPE(plat(nldi:nlei, nldj:nlej),(/ ni*nj /))) 2059 CALL iom_set_zoom_domain_attr("znl_T", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 2060 CALL iom_set_zoom_domain_attr("znl_W", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 2090 CALL iom_set_zoom_domain_attr("ptr", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 2061 2091 ! 2062 2092 CALL iom_update_file_name('ptr')
Note: See TracChangeset
for help on using the changeset viewer.