Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Flexpart
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Monitor
Service Desk
Analyze
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
Benjamin Püschel
Flexpart
Commits
da10dc89
Commit
da10dc89
authored
8 years ago
by
Don Morton
Browse files
Options
Downloads
Plain Diff
Merge branch 'fp9.3.1-fpdimcheck' into FPv9.3.1
parents
e4b7087f
9cdf8bdf
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
flexpart_code/fpmetbinary_mod.F90
+39
-0
39 additions, 0 deletions
flexpart_code/fpmetbinary_mod.F90
with
39 additions
and
0 deletions
flexpart_code/fpmetbinary_mod.F90
+
39
−
0
View file @
da10dc89
...
...
@@ -30,6 +30,7 @@ MODULE fpmetbinary_mod
USE
com_mod
USE
conv_mod
USE
par_mod
,
ONLY
:
nxmax
,
nymax
,
nzmax
,
nuvzmax
,
nwzmax
IMPLICIT
NONE
...
...
@@ -247,10 +248,21 @@ CONTAINS
INTEGER
,
INTENT
(
IN
)
::
cm_index
! Index of last dimension in
! most com_mod variables.
! Should be 1 or 2
! These are temporary variables, used in the LOAD option, for
! comparing against the current values in FLEXPART of nxmax, nymax, ...
INTEGER
::
temp_nxmax
,
temp_nymax
,
temp_nzmax
,
&
&
temp_nuvzmax
,
temp_nwzmax
CHARACTER
(
LEN
=
128
)
::
errmesg
if
(
op
==
'DUMP'
)
THEN
! Write the compiled max dimensions from par_mod - these are
! not meant to be reassigned during a LOAD, but used as "header"
! information to provide the structure of arrays
WRITE
(
iounit
)
nxmax
,
nymax
,
nzmax
,
nuvzmax
,
nwzmax
! Scalar values
WRITE
(
iounit
)
nx
,
ny
,
nxmin1
,
nymin1
,
nxfield
WRITE
(
iounit
)
nuvz
,
nwz
,
nz
,
nmixz
,
nlev_ec
...
...
@@ -389,6 +401,33 @@ CONTAINS
ELSE
IF
(
op
==
'LOAD'
)
THEN
! Read the compiled max dimensions that were dumped from par_mod
! when creating the fp file, so that we can compare against
! current FLEXPART dimensions - they need to be the same, or else
! we abort.
READ
(
iounit
)
temp_nxmax
,
temp_nymax
,
temp_nzmax
,
&
&
temp_nuvzmax
,
temp_nwzmax
IF
(
(
temp_nxmax
==
nxmax
)
.AND.
(
temp_nymax
==
nymax
)
.AND.
&
&
(
temp_nzmax
==
nzmax
)
.AND.
&
&
(
temp_nuvzmax
==
nuvzmax
)
.AND.
&
&
(
temp_nwzmax
==
nwzmax
)
)
THEN
CONTINUE
ELSE
PRINT
*
,
'Incompatible dimensions between fp file and current FLEXPART!'
PRINT
*
,
''
PRINT
*
,
' FP file Compiled FP'
PRINT
*
,
'nxmax: '
,
temp_nxmax
,
' '
,
nxmax
PRINT
*
,
'nymax: '
,
temp_nymax
,
' '
,
nymax
PRINT
*
,
'nzmax: '
,
temp_nzmax
,
' '
,
nzmax
PRINT
*
,
'nuvzmax: '
,
temp_nuvzmax
,
' '
,
nuvzmax
PRINT
*
,
'nwzmax: '
,
temp_nwzmax
,
' '
,
nwzmax
PRINT
*
,
''
STOP
END
IF
! Scalar values
READ
(
iounit
)
nx
,
ny
,
nxmin1
,
nymin1
,
nxfield
READ
(
iounit
)
nuvz
,
nwz
,
nz
,
nmixz
,
nlev_ec
...
...
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