52 USE modi_get_surf_grid_dim_n
53 USE modi_get_mesh_corner
54 USE modi_sfx_xios_setup
55 USE modi_get_ign_maskall
63 INTEGER,
INTENT(IN) :: KLUOUT
64 INTEGER(KIND=JPIM),
INTENT(IN) :: KYEAR
65 INTEGER(KIND=JPIM),
INTENT(IN) :: KMONTH
66 INTEGER(KIND=JPIM),
INTENT(IN) :: KDAY
67 REAL ,
INTENT(IN) :: PTIME
68 REAL ,
INTENT(IN) :: PSTEP
73 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: IXINDEX
75 LOGICAL,
ALLOCATABLE,
DIMENSION(:) :: GLXMASK
76 REAL,
ALLOCATABLE,
DIMENSION(:,:) :: ZCORLON
77 REAL,
ALLOCATABLE,
DIMENSION(:,:) :: ZCORLAT
78 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: IMN,IMS,IMW,IMT
79 REAL,
DIMENSION(:),
ALLOCATABLE :: ZX, ZY
81 CHARACTER(LEN=10) :: YGRID
83 INTEGER :: IDIM1, IDIM2
85 REAL(KIND=JPRB) :: ZHOOK_HANDLE
88 IF (
lhook)
CALL dr_hook(
'SFX_XIOS_SETUP_OL',0,zhook_handle)
98 ALLOCATE(ixindex(ysc%U%NSIZE_FULL))
101 DO ix = 1,ysc%U%NDIM_FULL
104 IF (jx > ysc%U%NSIZE_FULL )
THEN 105 CALL abor1_sfx(
'sfx_xios_setup_ol : internal error with XIOS index')
111 ALLOCATE(glxmask(ysc%U%NSIZE_FULL))
114 ALLOCATE(imn(
SIZE(ysc%U%NR_NATURE)))
115 ALLOCATE(ims(
SIZE(ysc%U%NR_SEA)))
116 ALLOCATE(imw(
SIZE(ysc%U%NR_WATER )))
117 ALLOCATE(imt(
SIZE(ysc%U%NR_TOWN )))
118 imn(:) = ysc%U%NR_NATURE-1
119 ims(:) = ysc%U%NR_SEA -1
120 imw(:) = ysc%U%NR_WATER -1
121 imt(:) = ysc%U%NR_TOWN -1
123 ALLOCATE(zcorlat(ysc%U%NSIZE_FULL,4))
124 ALLOCATE(zcorlon(ysc%U%NSIZE_FULL,4))
127 IF (
lwrite_coord.AND.(trim(ysc%UG%G%CGRID)==
'LONLATVAL'.OR.trim(ysc%UG%G%CGRID)==
'IGN'))
THEN 128 idim1 = ysc%U%NDIM_FULL
132 IF (trim(ysc%UG%G%CGRID)==
'IGN')
THEN 133 ALLOCATE(zx(idim1),zy(idim2))
141 kyear,kmonth,kday,ptime,pstep,&
142 idim1,idim2,0,transpose(zcorlat),transpose(zcorlon),&
143 ixindex,glxmask,imn,ims,imw,imt)
145 DEALLOCATE(imn,ims,imw,imt)
146 DEALLOCATE(zcorlat, zcorlon)
153 IF (
lhook)
CALL dr_hook(
'SFX_XIOS_SETUP_OL',1,zhook_handle)
subroutine sfx_xios_setup(YSC, KCOMM, KLUOUT, KYEAR, KMONTH, KDAY, PTIME, PTSTEP, KDIM1, KDIM2, KEXT1, PCLAT, PCLON, KXINDEX, ODXMASK, KMASKNAT, KMASKSEA, KMASKWAT, KMASKTOWN)
subroutine get_mesh_corner(UG, KLUOUT, PCORNER_LAT, PCORNER_LON)
subroutine abor1_sfx(YTEXT)
subroutine get_ign_maskall(UG, KNI, PX, PY, OTOT)
subroutine get_surf_grid_dim_n(UG, HGRID, ORECT, KDIM1, KDIM2, KGRID_PAR, PGRID_PAR)
integer, dimension(:), allocatable nindex
integer, dimension(:), allocatable nmask_ign
subroutine sfx_xios_setup_ol(YSC, KLUOUT, KYEAR, KMONTH, KDAY, PTIME, PSTEP)