Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
Méso-NH code
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
RODIER Quentin
Méso-NH code
Commits
bb10bdc8
Commit
bb10bdc8
authored
7 years ago
by
WAUTELET Philippe
Browse files
Options
Downloads
Patches
Plain Diff
Philippe 13/03/2018: lfi2cdf: manage correctly calculated variables
parent
4d82e53b
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
+137
-12
137 additions, 12 deletions
LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
with
137 additions
and
12 deletions
LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
+
137
−
12
View file @
bb10bdc8
...
@@ -45,6 +45,7 @@ MODULE mode_util
...
@@ -45,6 +45,7 @@ MODULE mode_util
LOGICAL
::
calc
! T if computed from other variables
LOGICAL
::
calc
! T if computed from other variables
LOGICAL
::
tbw
! to be written or not
LOGICAL
::
tbw
! to be written or not
LOGICAL
::
tbr
! to be read or not
LOGICAL
::
tbr
! to be read or not
INTEGER
::
NSRC
=
0
! Number of variables used to compute the variable (needed only if calc=.true.)
INTEGER
,
DIMENSION
(
MAXRAW
)
::
src
! List of variables used to compute the variable (needed only if calc=.true.)
INTEGER
,
DIMENSION
(
MAXRAW
)
::
src
! List of variables used to compute the variable (needed only if calc=.true.)
INTEGER
::
tgt
! Target: id of the variable that use it (calc variable)
INTEGER
::
tgt
! Target: id of the variable that use it (calc variable)
TYPE
(
TFIELDDATA
)
::
TFIELD
! Metadata about the field
TYPE
(
TFIELDDATA
)
::
TFIELD
! Metadata about the field
...
@@ -99,6 +100,7 @@ CONTAINS
...
@@ -99,6 +100,7 @@ CONTAINS
INTEGER
,
DIMENSION
(
10
)
::
idim_id
INTEGER
,
DIMENSION
(
10
)
::
idim_id
INTEGER
::
IDXDATE
,
IDXTIME
,
IDX1
INTEGER
::
IDXDATE
,
IDXTIME
,
IDX1
LOGICAL
::
GISDATE
,
GISTIME
LOGICAL
::
GISDATE
,
GISTIME
LOGICAL
::
GOK
IF
(
infiles
%
files
(
1
)
%
format
==
LFI_FORMAT
)
THEN
IF
(
infiles
%
files
(
1
)
%
format
==
LFI_FORMAT
)
THEN
ilu
=
infiles
%
files
(
1
)
%
lun_id
ilu
=
infiles
%
files
(
1
)
%
lun_id
...
@@ -181,6 +183,7 @@ CONTAINS
...
@@ -181,6 +183,7 @@ CONTAINS
tpreclist
(
idx_var
)
%
calc
=
.TRUE.
tpreclist
(
idx_var
)
%
calc
=
.TRUE.
tpreclist
(
idx_var
)
%
tbw
=
.TRUE.
tpreclist
(
idx_var
)
%
tbw
=
.TRUE.
tpreclist
(
idx_var
)
%
tbr
=
.FALSE.
tpreclist
(
idx_var
)
%
tbr
=
.FALSE.
tpreclist
(
idx_var
)
%
NSRC
=
idx
-1
idx_var
=
idx_var
+1
idx_var
=
idx_var
+1
DO
jj
=
1
,
idx
-1
DO
jj
=
1
,
idx
-1
tpreclist
(
idx_var
-
jj
)
%
src
(
jj
)
=
idx_var
tpreclist
(
idx_var
-
jj
)
%
src
(
jj
)
=
idx_var
...
@@ -363,8 +366,8 @@ END DO
...
@@ -363,8 +366,8 @@ END DO
END
IF
END
IF
! Check if variable is in TFIELDLIST and populate corresponding metadata
! Check if variable is in TFIELDLIST and populate corresponding metadata
DO
ji
=
1
,
nbvar_infile
DO
ji
=
1
,
maxvar
IF
(
.NOT.
tpreclist
(
ji
)
%
found
)
CYCLE
IF
(
.NOT.
tpreclist
(
ji
)
%
found
.OR.
tpreclist
(
ji
)
%
calc
)
CYCLE
!
!
!Do not treat dimension variables (they are automatically added when creating netCDF file)
!Do not treat dimension variables (they are automatically added when creating netCDF file)
IF
(
tpreclist
(
ji
)
%
name
==
'ni'
&
IF
(
tpreclist
(
ji
)
%
name
==
'ni'
&
...
@@ -400,6 +403,101 @@ END DO
...
@@ -400,6 +403,101 @@ END DO
END
IF
END
IF
END
DO
END
DO
IF
(
nbvar_calc
>
0
)
THEN
!Calculated variables
!Done after previous loop to reuse metadate from component variables
!Derive metadata from its components
!If same value for all components => take it
!If not => nothing or default value
!Check sizes: must be the same for all
DO
ji
=
1
,
maxvar
IF
(
.NOT.
tpreclist
(
ji
)
%
calc
)
CYCLE
!
tpreclist
(
ji
)
%
TFIELD
%
CMNHNAME
=
tpreclist
(
ji
)
%
name
tpreclist
(
ji
)
%
TFIELD
%
CSTDNAME
=
''
tpreclist
(
ji
)
%
TFIELD
%
CLONGNAME
=
tpreclist
(
ji
)
%
name
!
GOK
=
.TRUE.
DO
jj
=
1
,
tpreclist
(
ji
)
%
NSRC
idx_var
=
tpreclist
(
ji
)
%
src
(
jj
)
IF
(
.NOT.
tpreclist
(
idx_var
)
%
found
)
THEN
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'parse_infiles'
,
'some components for calculated variable '
&
//
TRIM
(
tpreclist
(
ji
)
%
name
)//
' are not known => ignored'
)
tpreclist
(
ji
)
%
tbw
=
.FALSE.
tpreclist
(
ji
)
%
tbr
=
.FALSE.
tpreclist
(
ji
)
%
found
=
.FALSE.
GOK
=
.FALSE.
EXIT
END
IF
END
DO
!
IF
(
GOK
)
THEN
idx_var
=
tpreclist
(
ji
)
%
src
(
1
)
tpreclist
(
ji
)
%
TFIELD
%
CUNITS
=
tpreclist
(
idx_var
)
%
TFIELD
%
CUNITS
tpreclist
(
ji
)
%
TFIELD
%
CDIR
=
tpreclist
(
idx_var
)
%
TFIELD
%
CDIR
tpreclist
(
ji
)
%
TFIELD
%
CLBTYPE
=
tpreclist
(
idx_var
)
%
TFIELD
%
CLBTYPE
tpreclist
(
ji
)
%
TFIELD
%
CCOMMENT
=
TRIM
(
tpreclist
(
ji
)
%
name
)//
'='
//
TRIM
(
tpreclist
(
idx_var
)
%
name
)
IF
(
tpreclist
(
ji
)
%
NSRC
>
1
)
tpreclist
(
ji
)
%
TFIELD
%
CCOMMENT
=
TRIM
(
tpreclist
(
ji
)
%
TFIELD
%
CCOMMENT
)//
'+'
tpreclist
(
ji
)
%
TFIELD
%
NGRID
=
tpreclist
(
idx_var
)
%
TFIELD
%
NGRID
tpreclist
(
ji
)
%
TFIELD
%
NTYPE
=
tpreclist
(
idx_var
)
%
TFIELD
%
NTYPE
tpreclist
(
ji
)
%
TFIELD
%
NDIMS
=
tpreclist
(
idx_var
)
%
TFIELD
%
NDIMS
#if 0
!PW: TODO?
tpreclist
(
ji
)
%
TFIELD
%
NFILLVALUE
tpreclist
(
ji
)
%
TFIELD
%
XFILLVALUE
tpreclist
(
ji
)
%
TFIELD
%
NVALIDMIN
tpreclist
(
ji
)
%
TFIELD
%
NVALIDMAX
tpreclist
(
ji
)
%
TFIELD
%
XVALIDMIN
tpreclist
(
ji
)
%
TFIELD
%
XVALIDMAX
#endif
DO
jj
=
2
,
tpreclist
(
ji
)
%
NSRC
idx_var
=
tpreclist
(
ji
)
%
src
(
jj
)
!
IF
(
tpreclist
(
ji
)
%
TFIELD
%
CUNITS
/
=
tpreclist
(
idx_var
)
%
TFIELD
%
CUNITS
)
THEN
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'parse_infiles'
,
'CUNITS is not uniform between components of calculated variable '
&
//
TRIM
(
tpreclist
(
ji
)
%
name
)//
' => CUNITS not set'
)
tpreclist
(
ji
)
%
TFIELD
%
CUNITS
=
''
END
IF
!
IF
(
tpreclist
(
ji
)
%
TFIELD
%
CDIR
/
=
tpreclist
(
idx_var
)
%
TFIELD
%
CDIR
)
THEN
CALL
PRINT_MSG
(
NVERB_ERROR
,
'IO'
,
'parse_infiles'
,
'CDIR is not uniform between components of calculated variable '
&
//
TRIM
(
tpreclist
(
ji
)
%
name
)//
' => CDIR=--'
)
tpreclist
(
ji
)
%
TFIELD
%
CDIR
=
'--'
END
IF
!
IF
(
tpreclist
(
ji
)
%
TFIELD
%
CLBTYPE
/
=
tpreclist
(
idx_var
)
%
TFIELD
%
CLBTYPE
)
THEN
CALL
PRINT_MSG
(
NVERB_ERROR
,
'IO'
,
'parse_infiles'
,
'CLBTYPE is not uniform between components of calculated variable '
&
//
TRIM
(
tpreclist
(
ji
)
%
name
)//
' => CLBTYPE=NONE'
)
tpreclist
(
ji
)
%
TFIELD
%
CLBTYPE
=
'NONE'
END
IF
!
tpreclist
(
ji
)
%
TFIELD
%
CCOMMENT
=
TRIM
(
tpreclist
(
ji
)
%
TFIELD
%
CCOMMENT
)//
TRIM
(
tpreclist
(
idx_var
)
%
name
)
IF
(
jj
<
tpreclist
(
ji
)
%
NSRC
)
tpreclist
(
ji
)
%
TFIELD
%
CCOMMENT
=
TRIM
(
tpreclist
(
ji
)
%
TFIELD
%
CCOMMENT
)//
'+'
!
IF
(
tpreclist
(
ji
)
%
TFIELD
%
NGRID
/
=
tpreclist
(
idx_var
)
%
TFIELD
%
NGRID
)
THEN
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'parse_infiles'
,
'NGRID is not uniform between components of calculated variable '
&
//
TRIM
(
tpreclist
(
ji
)
%
name
)//
' => NGRID=1'
)
tpreclist
(
ji
)
%
TFIELD
%
NGRID
=
1
END
IF
!
IF
(
tpreclist
(
ji
)
%
TFIELD
%
NTYPE
/
=
tpreclist
(
idx_var
)
%
TFIELD
%
NTYPE
)
THEN
CALL
PRINT_MSG
(
NVERB_FATAL
,
'IO'
,
'parse_infiles'
,
'NTYPE is not uniform between components of calculated variable '
&
//
TRIM
(
tpreclist
(
ji
)
%
name
))
tpreclist
(
ji
)
%
TFIELD
%
NTYPE
=
TYPEUNDEF
END
IF
!
IF
(
tpreclist
(
ji
)
%
TFIELD
%
NDIMS
/
=
tpreclist
(
idx_var
)
%
TFIELD
%
NDIMS
)
THEN
CALL
PRINT_MSG
(
NVERB_FATAL
,
'IO'
,
'parse_infiles'
,
'NDIMS is not uniform between components of calculated variable '
&
//
TRIM
(
tpreclist
(
ji
)
%
name
))
END
IF
END
DO
!
ALLOCATE
(
tpreclist
(
ji
)
%
TDIMS
(
tpreclist
(
ji
)
%
TFIELD
%
NDIMS
))
!
END
IF
END
DO
!ji=1,maxvar
END
IF
!nbvar_calc>0
kbuflen
=
sizemax
kbuflen
=
sizemax
WRITE
(
*
,
'("Taille maximale du buffer :",f10.3," Mio")'
)
sizemax
*
8.
/
1048576.
WRITE
(
*
,
'("Taille maximale du buffer :",f10.3," Mio")'
)
sizemax
*
8.
/
1048576.
...
@@ -443,14 +541,6 @@ END DO
...
@@ -443,14 +541,6 @@ END DO
tpreclist
(
ji
)
%
dim
=>
get_dimCDF
(
fsize
)
tpreclist
(
ji
)
%
dim
=>
get_dimCDF
(
fsize
)
END
DO
END
DO
!Complete info for calculated variables
IF
(
nbvar_calc
>
0
)
THEN
DO
ji
=
1
,
maxvar
IF
(
.NOT.
tpreclist
(
ji
)
%
calc
)
CYCLE
tpreclist
(
ji
)
%
dim
=>
tpreclist
(
tpreclist
(
ji
)
%
src
(
1
))
%
dim
END
DO
END
IF
PRINT
*
,
'Nombre de dimensions = '
,
size_dimCDF
()
PRINT
*
,
'Nombre de dimensions = '
,
size_dimCDF
()
DEALLOCATE
(
iwork
)
DEALLOCATE
(
iwork
)
END
SUBROUTINE
parse_infiles
END
SUBROUTINE
parse_infiles
...
@@ -591,12 +681,23 @@ INTEGER(KIND=IDCDF_KIND),DIMENSION(NF90_MAX_VAR_DIMS) :: IDIMLEN
...
@@ -591,12 +681,23 @@ INTEGER(KIND=IDCDF_KIND),DIMENSION(NF90_MAX_VAR_DIMS) :: IDIMLEN
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
extent
=
ileng
-
2
-
iwork
(
2
)
!iwork(2) = comment length
extent
=
ileng
-
2
-
iwork
(
2
)
!iwork(2) = comment length
itab
(
1
:
extent
)
=
iwork
(
3
+
iwork
(
2
):
3
+
iwork
(
2
)
+
extent
-1
)
itab
(
1
:
extent
)
=
iwork
(
3
+
iwork
(
2
):
3
+
iwork
(
2
)
+
extent
-1
)
! Determine TDIMS
CALL
IO_GUESS_DIMIDS_NC4
(
outfiles
%
tfiles
(
idx
)
%
TFILE
,
tpreclist
(
src
)
%
TFIELD
,
extent
,
tpreclist
(
src
)
%
TDIMS
,
IRESP2
)
IF
(
IRESP2
/
=
0
)
THEN
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'fill_ncdf'
,
'can not guess dimensions for '
//
tpreclist
(
src
)
%
TFIELD
%
CMNHNAME
//
&
' => ignored'
)
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'fill_ncdf'
,
'can not guess dimensions for '
//
tpreclist
(
ji
)
%
TFIELD
%
CMNHNAME
//
&
' => ignored'
)
CYCLE
ELSE
tpreclist
(
ji
)
%
TDIMS
=
tpreclist
(
src
)
%
TDIMS
END
IF
jj
=
2
jj
=
2
DO
WHILE
(
tpreclist
(
ji
)
%
src
(
jj
)
>
0
.AND.
jj
.LE.
MAXRAW
)
DO
jj
=
2
,
tpreclist
(
ji
)
%
NSRC
src
=
tpreclist
(
ji
)
%
src
(
jj
)
src
=
tpreclist
(
ji
)
%
src
(
jj
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
!PW: TODO: check same dimensions
itab
(
1
:
extent
)
=
itab
(
1
:
extent
)
+
iwork
(
3
+
iwork
(
2
):
3
+
iwork
(
2
)
+
extent
-1
)
itab
(
1
:
extent
)
=
itab
(
1
:
extent
)
+
iwork
(
3
+
iwork
(
2
):
3
+
iwork
(
2
)
+
extent
-1
)
jj
=
jj
+1
END
DO
END
DO
ENDIF
ENDIF
...
@@ -699,11 +800,23 @@ print *,'PW:TODO'
...
@@ -699,11 +800,23 @@ print *,'PW:TODO'
CALL
LFINFO
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
ileng
,
ipos
)
CALL
LFINFO
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
ileng
,
ipos
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
extent
=
ileng
-
2
-
iwork
(
2
)
!iwork(2) = comment length
extent
=
ileng
-
2
-
iwork
(
2
)
!iwork(2) = comment length
! Determine TDIMS
CALL
IO_GUESS_DIMIDS_NC4
(
outfiles
%
tfiles
(
idx
)
%
TFILE
,
tpreclist
(
src
)
%
TFIELD
,
extent
,
tpreclist
(
src
)
%
TDIMS
,
IRESP2
)
IF
(
IRESP2
/
=
0
)
THEN
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'fill_ncdf'
,
'can not guess dimensions for '
//
tpreclist
(
src
)
%
TFIELD
%
CMNHNAME
//
&
' => ignored'
)
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'fill_ncdf'
,
'can not guess dimensions for '
//
tpreclist
(
ji
)
%
TFIELD
%
CMNHNAME
//
&
' => ignored'
)
CYCLE
ELSE
tpreclist
(
ji
)
%
TDIMS
=
tpreclist
(
src
)
%
TDIMS
END
IF
itab
(
1
:
extent
)
=
iwork
(
3
+
iwork
(
2
):
3
+
iwork
(
2
)
+
extent
-1
)
itab
(
1
:
extent
)
=
iwork
(
3
+
iwork
(
2
):
3
+
iwork
(
2
)
+
extent
-1
)
jj
=
2
jj
=
2
DO
WHILE
(
tpreclist
(
ji
)
%
src
(
jj
)
>
0
.AND.
jj
.LE.
MAXRAW
)
DO
WHILE
(
tpreclist
(
ji
)
%
src
(
jj
)
>
0
.AND.
jj
.LE.
MAXRAW
)
src
=
tpreclist
(
ji
)
%
src
(
jj
)
src
=
tpreclist
(
ji
)
%
src
(
jj
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
!PW: TODO: check same dimensions
itab
(
1
:
extent
)
=
itab
(
1
:
extent
)
+
iwork
(
3
+
iwork
(
2
):
3
+
iwork
(
2
)
+
extent
-1
)
itab
(
1
:
extent
)
=
itab
(
1
:
extent
)
+
iwork
(
3
+
iwork
(
2
):
3
+
iwork
(
2
)
+
extent
-1
)
jj
=
jj
+1
jj
=
jj
+1
END
DO
END
DO
...
@@ -803,11 +916,23 @@ print *,'PW:TODO'
...
@@ -803,11 +916,23 @@ print *,'PW:TODO'
CALL
LFINFO
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
ileng
,
ipos
)
CALL
LFINFO
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
ileng
,
ipos
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
extent
=
ileng
-
2
-
iwork
(
2
)
!iwork(2) = comment length
extent
=
ileng
-
2
-
iwork
(
2
)
!iwork(2) = comment length
! Determine TDIMS
CALL
IO_GUESS_DIMIDS_NC4
(
outfiles
%
tfiles
(
idx
)
%
TFILE
,
tpreclist
(
src
)
%
TFIELD
,
extent
,
tpreclist
(
src
)
%
TDIMS
,
IRESP2
)
IF
(
IRESP2
/
=
0
)
THEN
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'fill_ncdf'
,
'can not guess dimensions for '
//
tpreclist
(
src
)
%
TFIELD
%
CMNHNAME
//
&
' => ignored'
)
CALL
PRINT_MSG
(
NVERB_WARNING
,
'IO'
,
'fill_ncdf'
,
'can not guess dimensions for '
//
tpreclist
(
ji
)
%
TFIELD
%
CMNHNAME
//
&
' => ignored'
)
CYCLE
ELSE
tpreclist
(
ji
)
%
TDIMS
=
tpreclist
(
src
)
%
TDIMS
END
IF
xtab
(
1
:
extent
)
=
TRANSFER
(
iwork
(
3
+
iwork
(
2
):),(/
0.0_8
/))
xtab
(
1
:
extent
)
=
TRANSFER
(
iwork
(
3
+
iwork
(
2
):),(/
0.0_8
/))
jj
=
2
jj
=
2
DO
WHILE
(
tpreclist
(
ji
)
%
src
(
jj
)
>
0
.AND.
jj
.LE.
MAXRAW
)
DO
WHILE
(
tpreclist
(
ji
)
%
src
(
jj
)
>
0
.AND.
jj
.LE.
MAXRAW
)
src
=
tpreclist
(
ji
)
%
src
(
jj
)
src
=
tpreclist
(
ji
)
%
src
(
jj
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
CALL
LFILEC
(
iresp
,
ilu
,
trim
(
tpreclist
(
src
)
%
name
)//
trim
(
suffix
),
iwork
,
ileng
)
!PW: TODO: check same dimensions
xtab
(
1
:
extent
)
=
xtab
(
1
:
extent
)
+
TRANSFER
(
iwork
(
3
+
iwork
(
2
):),(/
0.0_8
/))
xtab
(
1
:
extent
)
=
xtab
(
1
:
extent
)
+
TRANSFER
(
iwork
(
3
+
iwork
(
2
):),(/
0.0_8
/))
jj
=
jj
+1
jj
=
jj
+1
END
DO
END
DO
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment