Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gotm_ismer
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Dany Dumont
gotm_ismer
Commits
1afe698e
Commit
1afe698e
authored
May 17, 2011
by
dumoda01
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ajout de coefficients de relaxation specifique pour ammonium
parent
eb3930d2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
2 deletions
+28
-2
nml/obs.nml
nml/obs.nml
+5
-0
src/meanflow/ammonium.F90
src/meanflow/ammonium.F90
+2
-2
src/observations/observations.F90
src/observations/observations.F90
+21
-0
No files found.
nml/obs.nml
View file @
1afe698e
...
...
@@ -164,6 +164,11 @@
z_a2= 35.
a_2= 0.0
a_prof_file= 'aprof.dat'
ARelaxTauM= 1.e15
ARelaxTauB= 1.e15
ARelaxTauS= 1.e15
ARelaxBott= 0.
ARelaxSurf= 0.
/
!-------------------------------------------------------------------------------
...
...
src/meanflow/ammonium.F90
View file @
1afe698e
...
...
@@ -67,7 +67,7 @@
use
meanflow
,
only
:
h
,
u
,
v
,
w
,
AMM
,
avh
!CHG5
use
observations
,
only
:
dadx
,
dady
,
a_adv
!CHG5
use
observations
,
only
:
w_adv_discr
,
w_adv_method
use
observations
,
only
:
aprof
,
N
RelaxTau
!CHG5
use
observations
,
only
:
aprof
,
A
RelaxTau
!CHG5
use
airsea
,
only
:
p_e
use
util
,
only
:
Dirichlet
,
Neumann
use
util
,
only
:
oneSided
,
zeroDivergence
...
...
@@ -168,7 +168,7 @@
! do diffusion step
call
diff_center
(
nlev
,
dt
,
cnpar
,
posconc
,
h
,
DiffBcup
,
DiffBcdw
,
&
DiffSup
,
DiffSdw
,
avh
,
LSour
,
Qsour
,
N
RelaxTau
,
aprof
,
amm
)
!CHG5
DiffSup
,
DiffSdw
,
avh
,
LSour
,
Qsour
,
A
RelaxTau
,
aprof
,
amm
)
!CHG5
return
end
subroutine
ammonium
...
...
src/observations/observations.F90
View file @
1afe698e
...
...
@@ -135,6 +135,11 @@
integer
,
public
::
a_analyt_method
=
1
character
(
LEN
=
PATH_MAX
)
::
a_prof_file
=
'aprof.dat'
REALTYPE
::
z_a1
,
a_1
,
z_a2
,
a_2
REALTYPE
::
ARelaxTauM
=
0.
REALTYPE
::
ARelaxTauS
=
0.
REALTYPE
::
ARelaxTauB
=
0.
REALTYPE
::
ARelaxSurf
=
0.
REALTYPE
::
ARelaxBott
=
0.
! Oxygen profile(s)
integer
,
public
::
o2_prof_method
=
0
...
...
@@ -369,6 +374,8 @@
namelist
/
aprofile
/
&
!CHG5
a_prof_method
,
a_analyt_method
,
&
z_a1
,
a_1
,
z_a2
,
a_2
,
a_prof_file
ARelaxTauM
,
ARelaxTauB
,
ARelaxTauS
,
&
ARelaxBott
,
ARelaxSurf
namelist
/
o2_profile
/
&
o2_prof_method
,
o2_units
,
o2_prof_file
...
...
@@ -513,10 +520,12 @@
SRelaxTau
(
0
)
=
SRelaxTauB
TRelaxTau
(
0
)
=
TRelaxTauB
NRelaxTau
(
0
)
=
NRelaxTauB
!CHG3
ARelaxTau
(
0
)
=
ARelaxTauB
!CHG3
do
i
=
1
,
nlev
TRelaxTau
(
i
)
=
TRelaxTauM
SRelaxTau
(
i
)
=
SRelaxTauM
NRelaxTau
(
i
)
=
NRelaxTauM
!CHG3
ARelaxTau
(
i
)
=
ARelaxTauM
!CHG3
db
=
db
+0.5
*
h
(
i
)
ds
=
ds
-0.5
*
h
(
i
)
if
(
db
.le.
SRelaxBott
)
SRelaxTau
(
i
)
=
SRelaxTauB
...
...
@@ -525,6 +534,8 @@
if
(
ds
.le.
TRelaxSurf
)
TRelaxTau
(
i
)
=
TRelaxTauS
if
(
db
.le.
NRelaxBott
)
NRelaxTau
(
i
)
=
NRelaxTauB
!CHG3
if
(
ds
.le.
NRelaxSurf
)
NRelaxTau
(
i
)
=
NRelaxTauS
!CHG3
if
(
db
.le.
ARelaxBott
)
ARelaxTau
(
i
)
=
ARelaxTauB
!CHG5
if
(
ds
.le.
ARelaxSurf
)
ARelaxTau
(
i
)
=
ARelaxTauS
!CHG5
db
=
db
+0.5
*
h
(
i
)
ds
=
ds
-0.5
*
h
(
i
)
if
((
s_prof_method
.ne.
0
)
.and.
(
SRelaxTau
(
i
)
.le.
0.
))
then
...
...
@@ -554,6 +565,15 @@
LEVEL2
'***************************************************'
stop
'init_observations'
end
if
if
((
a_prof_method
.ne.
0
)
.and.
(
ARelaxTau
(
i
)
.le.
0.
))
then
!CHG5
LEVEL2
''
LEVEL2
'***************************************************'
LEVEL2
'ARelaxTau at i='
,
i
,
' is not a positive value.'
LEVEL2
'Please correct obs.nml and rerun.'
LEVEL2
'Program aborted.'
LEVEL2
'***************************************************'
stop
'init_observations'
end
if
end
do
allocate
(
o2_prof
(
0
:
nlev
),
stat
=
rc
)
...
...
@@ -1150,6 +1170,7 @@
if
(
allocated
(
SRelaxTau
))
deallocate
(
SRelaxTau
)
if
(
allocated
(
TRelaxTau
))
deallocate
(
TRelaxTau
)
if
(
allocated
(
NRelaxTau
))
deallocate
(
NRelaxTau
)
!CHG3
if
(
allocated
(
ARelaxTau
))
deallocate
(
ARelaxTau
)
!CHG5
if
(
allocated
(
uprof
))
deallocate
(
uprof
)
if
(
allocated
(
vprof
))
deallocate
(
vprof
)
if
(
allocated
(
epsprof
))
deallocate
(
epsprof
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment