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
Méso-NH
Méso-NH code
Commits
e8ef1b74
Commit
e8ef1b74
authored
3 years ago
by
WAUTELET Philippe
Browse files
Options
Downloads
Patches
Plain Diff
Philippe 01/09/2021: fix: profilers: correct vertical dimension for ALT and W
parent
ef802f55
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/MNH/write_diachro.f90
+5
-1
5 additions, 1 deletion
src/MNH/write_diachro.f90
src/MNH/write_profilern.f90
+9
-1
9 additions, 1 deletion
src/MNH/write_profilern.f90
with
14 additions
and
2 deletions
src/MNH/write_diachro.f90
+
5
−
1
View file @
e8ef1b74
...
@@ -89,6 +89,7 @@ subroutine Write_diachro( tpdiafile, tpbudiachro, tpfields, &
...
@@ -89,6 +89,7 @@ subroutine Write_diachro( tpdiafile, tpbudiachro, tpfields, &
! P. Wautelet 03/03/2021: add tbudiachrometadata type (useful to pass more information to Write_diachro)
! P. Wautelet 03/03/2021: add tbudiachrometadata type (useful to pass more information to Write_diachro)
! P. Wautelet 11/03/2021: remove ptrajx/y/z optional dummy arguments of Write_diachro
! P. Wautelet 11/03/2021: remove ptrajx/y/z optional dummy arguments of Write_diachro
! + get the trajectory data for LFI files differently
! + get the trajectory data for LFI files differently
! P. Wautelet 01/09/2021: allow NMNHDIM_LEVEL and NMNHDIM_LEVEL_W simultaneously
!-------------------------------------------------------------------------------
!-------------------------------------------------------------------------------
!
!
!* 0. DECLARATIONS
!* 0. DECLARATIONS
...
@@ -1035,7 +1036,10 @@ do jp = 2, Size( tpfields )
...
@@ -1035,7 +1036,10 @@ do jp = 2, Size( tpfields )
if
(
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
tpfields
(
1
)
%
ndimlist
(
ji
)
)
then
if
(
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
tpfields
(
1
)
%
ndimlist
(
ji
)
)
then
!For SERIES: it is possible to have NMNHDIM_NI and NMNHDIM_NI_U in the different tpfields
!For SERIES: it is possible to have NMNHDIM_NI and NMNHDIM_NI_U in the different tpfields
!For SERIES: it is possible to have NMNHDIM_SERIES_LEVEL and NMNHDIM_SERIES_LEVEL_W in the different tpfields
!For SERIES: it is possible to have NMNHDIM_SERIES_LEVEL and NMNHDIM_SERIES_LEVEL_W in the different tpfields
if
(
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_NI
.and.
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_NI_U
.and.
&
!For profiles: it is possible to have NMNHDIM_LEVEL and NMNHDIM_LEVEL_W in the different tpfields
!This check is not perfect but should catch most problems
if
(
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_NI
.and.
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_NI_U
.and.
&
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_LEVEL
.and.
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_LEVEL_W
.and.
&
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_SERIES_LEVEL
.and.
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_SERIES_LEVEL_W
)
then
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_SERIES_LEVEL
.and.
tpfields
(
jp
)
%
ndimlist
(
ji
)
/
=
NMNHDIM_SERIES_LEVEL_W
)
then
call
Print_msg
(
NVERB_ERROR
,
'IO'
,
'Write_diachro_nc4'
,
&
call
Print_msg
(
NVERB_ERROR
,
'IO'
,
'Write_diachro_nc4'
,
&
'some dimensions are not the same for all tpfields entries for variable '
//
trim
(
tpfields
(
jp
)
%
cmnhname
)
)
'some dimensions are not the same for all tpfields entries for variable '
//
trim
(
tpfields
(
jp
)
%
cmnhname
)
)
...
...
This diff is collapsed.
Click to expand it.
src/MNH/write_profilern.f90
+
9
−
1
View file @
e8ef1b74
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
! P. Wautelet 11/03/2021: bugfix: correct name for NSV_LIMA_IMM_NUCL
! P. Wautelet 11/03/2021: bugfix: correct name for NSV_LIMA_IMM_NUCL
! P. Wautelet 05/07/2021: reorganisation to store point values correctly (not in vertical profiles)
! P. Wautelet 05/07/2021: reorganisation to store point values correctly (not in vertical profiles)
! M. Taufour 07/2021: modify RARE for hydrometeors containing ice and add bright band calculation for RARE
! M. Taufour 07/2021: modify RARE for hydrometeors containing ice and add bright band calculation for RARE
! P. Wautelet 01/09/2021: fix: correct vertical dimension for ALT and W
!-----------------------------------------------------------------
!-----------------------------------------------------------------
! ###########################
! ###########################
MODULE
MODE_WRITE_PROFILER_n
MODULE
MODE_WRITE_PROFILER_n
...
@@ -85,7 +86,7 @@ USE MODD_CH_AEROSOL, ONLY: CAERONAMES, LORILAM, JPMODE
...
@@ -85,7 +86,7 @@ USE MODD_CH_AEROSOL, ONLY: CAERONAMES, LORILAM, JPMODE
USE
MODD_CH_M9_n
,
ONLY
:
CNAMES
USE
MODD_CH_M9_n
,
ONLY
:
CNAMES
USE
MODD_CST
,
ONLY
:
XRV
USE
MODD_CST
,
ONLY
:
XRV
USE
MODD_ELEC_DESCR
,
ONLY
:
CELECNAMES
USE
MODD_ELEC_DESCR
,
ONLY
:
CELECNAMES
use
modd_field
,
only
:
NMNHDIM_LEVEL
,
NMNHDIM_PROFILER_TIME
,
NMNHDIM_PROFILER_PROC
,
NMNHDIM_UNUSED
,
&
use
modd_field
,
only
:
NMNHDIM_LEVEL
,
NMNHDIM_LEVEL_W
,
NMNHDIM_PROFILER_TIME
,
NMNHDIM_PROFILER_PROC
,
NMNHDIM_UNUSED
,
&
tfield_metadata_base
,
TYPEREAL
tfield_metadata_base
,
TYPEREAL
USE
MODD_ICE_C1R3_DESCR
,
ONLY
:
C1R3NAMES
USE
MODD_ICE_C1R3_DESCR
,
ONLY
:
C1R3NAMES
USE
MODD_IO
,
ONLY
:
TFILEDATA
USE
MODD_IO
,
ONLY
:
TFILEDATA
...
@@ -118,6 +119,7 @@ CHARACTER(LEN=:), allocatable :: YGROUP ! group title
...
@@ -118,6 +119,7 @@ CHARACTER(LEN=:), allocatable :: YGROUP ! group title
INTEGER
::
IKU
INTEGER
::
IKU
INTEGER
::
IPROC
! number of variables records
INTEGER
::
IPROC
! number of variables records
INTEGER
::
JPROC
INTEGER
::
JPROC
integer
::
jproc_alt
,
jproc_w
INTEGER
::
JRR
! loop counter
INTEGER
::
JRR
! loop counter
INTEGER
::
JSV
! loop counter
INTEGER
::
JSV
! loop counter
integer
::
ji
integer
::
ji
...
@@ -161,11 +163,15 @@ call Add_profile( 'RARE', 'Radar reflectivity', 'dBZ', tprofil
...
@@ -161,11 +163,15 @@ call Add_profile( 'RARE', 'Radar reflectivity', 'dBZ', tprofil
call
Add_profile
(
'RAREatt'
,
'Radar attenuated reflectivity'
,
'dBZ'
,
tprofiler
%
crare_att
)
call
Add_profile
(
'RAREatt'
,
'Radar attenuated reflectivity'
,
'dBZ'
,
tprofiler
%
crare_att
)
call
Add_profile
(
'P'
,
'Pressure'
,
'Pa'
,
tprofiler
%
p
)
call
Add_profile
(
'P'
,
'Pressure'
,
'Pa'
,
tprofiler
%
p
)
call
Add_profile
(
'ALT'
,
'Altitude'
,
'm'
,
tprofiler
%
zz
)
call
Add_profile
(
'ALT'
,
'Altitude'
,
'm'
,
tprofiler
%
zz
)
!Store position of ALT in the field list. Useful because it is not computed on the same Arakawa-grid points
jproc_alt
=
jproc
call
Add_profile
(
'ZON_WIND'
,
'Zonal wind'
,
'm s-1'
,
tprofiler
%
zon
)
call
Add_profile
(
'ZON_WIND'
,
'Zonal wind'
,
'm s-1'
,
tprofiler
%
zon
)
call
Add_profile
(
'MER_WIND'
,
'Meridional wind'
,
'm s-1'
,
tprofiler
%
mer
)
call
Add_profile
(
'MER_WIND'
,
'Meridional wind'
,
'm s-1'
,
tprofiler
%
mer
)
call
Add_profile
(
'FF'
,
'Wind intensity'
,
'm s-1'
,
tprofiler
%
ff
)
call
Add_profile
(
'FF'
,
'Wind intensity'
,
'm s-1'
,
tprofiler
%
ff
)
call
Add_profile
(
'DD'
,
'Wind direction'
,
'degree'
,
tprofiler
%
dd
)
call
Add_profile
(
'DD'
,
'Wind direction'
,
'degree'
,
tprofiler
%
dd
)
call
Add_profile
(
'W'
,
'Air vertical speed'
,
'm s-1'
,
tprofiler
%
w
)
call
Add_profile
(
'W'
,
'Air vertical speed'
,
'm s-1'
,
tprofiler
%
w
)
!Store position of W in the field list. Useful because it is not computed on the same Arakawa-grid points
jproc_w
=
jproc
if
(
ldiag_in_run
)
&
if
(
ldiag_in_run
)
&
call
Add_profile
(
'TKE_DISS'
,
'TKE dissipation rate'
,
'm2 s-2'
,
tprofiler
%
tke_diss
)
call
Add_profile
(
'TKE_DISS'
,
'TKE dissipation rate'
,
'm2 s-2'
,
tprofiler
%
tke_diss
)
...
@@ -389,6 +395,8 @@ tzfields(:)%ndims = 3
...
@@ -389,6 +395,8 @@ tzfields(:)%ndims = 3
tzfields
(:)
%
ndimlist
(
1
)
=
NMNHDIM_UNUSED
tzfields
(:)
%
ndimlist
(
1
)
=
NMNHDIM_UNUSED
tzfields
(:)
%
ndimlist
(
2
)
=
NMNHDIM_UNUSED
tzfields
(:)
%
ndimlist
(
2
)
=
NMNHDIM_UNUSED
tzfields
(:)
%
ndimlist
(
3
)
=
NMNHDIM_LEVEL
tzfields
(:)
%
ndimlist
(
3
)
=
NMNHDIM_LEVEL
tzfields
(
jproc_alt
)
%
ndimlist
(
3
)
=
NMNHDIM_LEVEL_W
tzfields
(
jproc_w
)
%
ndimlist
(
3
)
=
NMNHDIM_LEVEL_W
tzfields
(:)
%
ndimlist
(
4
)
=
NMNHDIM_PROFILER_TIME
tzfields
(:)
%
ndimlist
(
4
)
=
NMNHDIM_PROFILER_TIME
tzfields
(:)
%
ndimlist
(
5
)
=
NMNHDIM_UNUSED
tzfields
(:)
%
ndimlist
(
5
)
=
NMNHDIM_UNUSED
tzfields
(:)
%
ndimlist
(
6
)
=
NMNHDIM_PROFILER_PROC
tzfields
(:)
%
ndimlist
(
6
)
=
NMNHDIM_PROFILER_PROC
...
...
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