/[lmdze]/trunk/Sources/phylmd/physiq.f
ViewVC logotype

Log of /trunk/Sources/phylmd/physiq.f

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 253)

Revision 226 - (view) (annotate) - [select for diffs]
Modified Mon Oct 16 13:04:05 2017 UTC (6 years, 6 months ago) by guez
File length: 39032 byte(s)
Diff to previous 225
In clmain, u1lay and v1lay do not depend on the subsurface. So output
values of zu1 and zv1 are simply u(:, 1) and v(:, 1). Just remove the
corresponding computations from clmain and define yu1 and yv1 in physiq.


Revision 225 - (view) (annotate) - [select for diffs]
Modified Mon Oct 16 12:35:41 2017 UTC (6 years, 6 months ago) by guez
File length: 38995 byte(s)
Diff to previous 224
LMDZE is now in Fortran 2003 (use of allocatable arguments).

gradsdef was not used.

Change names: [uv]10m to [uv]10m_srf in clmain, y[uv]1 to
[uv]1lay. Remove useless complication: zx_alf[12]. Do not modify
[uv]1lay after initial definition from [uv].

Add [uv]10m_srf to output.

Change names in physiq: [uv]10m to [uv]10m_srf, z[uv]10m to [uv]10m,
corresponding to NetCDF output names.

Remove unused complication couchelimite and useless variable inirnpb
in phytrac.


Revision 224 - (view) (annotate) - [select for diffs]
Modified Fri Apr 28 13:40:59 2017 UTC (6 years, 11 months ago) by guez
File length: 38833 byte(s)
Diff to previous 223
offline allows to save variables for another run with offline
transport, but there is no provision for this other run with offline
transport in LMDZE. The procedures read_pstoke and read_pstoke0 in
LMDZ are never called. So removed the possibility offline = T.


Revision 223 - (view) (annotate) - [select for diffs]
Modified Fri Apr 28 13:22:36 2017 UTC (6 years, 11 months ago) by guez
File length: 39079 byte(s)
Diff to previous 221
In clmain, local variable yfder was computed but not used. I think it
was useful for coupling only. Variable fder_print of pbl_surface in
LMDZ, which is output by LMDZ, corresponds to variable fder of physiq
in LMDZ and LMDZE.


Revision 221 - (view) (annotate) - [select for diffs]
Modified Thu Apr 20 14:44:47 2017 UTC (7 years ago) by guez
File length: 39184 byte(s)
Diff to previous 217
clcdrag is no longer used in LMDZ. Replaced by cdrag in LMDZ. In cdrag
in LMDZ, zxli is a symbolic constant, false. So removed case zxli true
in LMDZE.

read_sst is called zero (if no ocean point on the whole planet) time or
once per call of physiq. If mod(itap - 1, lmt_pas) == 0 then we have
advanced in time of lmt_pas and deja_lu is necessarily false.

qsat[sl] and dqsat[sl] were never called.

Added output of qsurf in histins, following LMDZ.

Last dummy argument dtime of phystokenc is always the same as first
dummy argument pdtphys, removed dtime.

Removed make rules for nag_xref95, since it does not exist any longer.


Revision 217 - (view) (annotate) - [select for diffs]
Modified Thu Mar 30 14:25:18 2017 UTC (7 years ago) by guez
File length: 39234 byte(s)
Diff to previous 215
run_off_lic downgraded from variable of module interface_surf to local
variable of fonte_neige.

Code could not work with ok_aie set to true, so removed this
possibility. tauae, piz_ae, cg_ae, topswai, solswai were then
0. cldtaupi was the same as cldtaupd.

In sw and procedures called by sw, flag_aer did not need to be double
precision, changed it to logical.

Downgraded re and fl from arguments of newmicro to local
variables. Added output of re and fl (following LMDZ).


Revision 215 - (view) (annotate) - [select for diffs]
Modified Tue Mar 28 12:46:28 2017 UTC (7 years, 1 month ago) by guez
File length: 40577 byte(s)
Diff to previous 214
size(snow) is now knon in interfsurf_hq.

Renamed snow to fsnow in clmain, same name as corresponding actual
argument. We can then rename ysnow to simply snow in clmain, same name
as corresponding dummy argument of clqh. No need to initialize local
snow to 0 since it is only used with indices 1:knon and already
initialized from fsnow for each type of surface. If there is no point
for a given type of surface, fsnow should be reset to 0 for this
type. We need to give a valid value to fsnow in this case even if it
will be multiplied by pctsrf = 0 in physiq.

In physiq, no need for intermediate zxsnow for output.

Removed unused arguments tsurf, p1lay, beta, coef1lay, ps, t1lay,
q1lay, u1lay, v1lay, petAcoef, peqAcoef, petBcoef, peqBcoef of
fonte_neige, with unused computations of zx_qs and zcor. (Same was
done in LMDZ.)


Revision 214 - (view) (annotate) - [select for diffs]
Modified Wed Mar 22 13:40:27 2017 UTC (7 years, 1 month ago) by guez
File length: 40574 byte(s)
Diff to previous 213
fluxlat, not yfluxlat, should be set to 0 at the beginning of
clmain. So fluxlat is defined for a given type of surface even if
there is no point of this type at the current time step.

fluxlat is defined at each time step in physiq, no need for the save
attribute.


Revision 213 - (view) (annotate) - [select for diffs]
Modified Mon Feb 27 15:44:55 2017 UTC (7 years, 1 month ago) by guez
File length: 40582 byte(s)
Diff to previous 212
Removed module conema3_m. Moved variables epmax and iflag_clw of
conema3_m to conf_phys_m, where they are defined. Removed unused
variable ok_adj_ema of conema3_m.

Added variables d_t_ec, dtsw0 and dtlw0 to histins.nc (following LMDZ).

Removed case not lessivage in phytrac. (Not used in LMDZ without INCA
either.)


Revision 212 - (view) (annotate) - [select for diffs]
Modified Thu Jan 12 12:31:31 2017 UTC (7 years, 3 months ago) by guez
File length: 40452 byte(s)
Diff to previous 209
Moved variables from module com_io_dyn to module inithist_m, where
they are defined.

Split grid_atob.f into grille_m.f and dist_sphe.f. Extracted ASCCI art
to documentation. In grille_m, use automatic arrays instead of maximum
size. In grille_m, instead of printing data for every problematic
point, print a single diagnostic message.

Removed variables top_height, overlap, lev_histhf, lev_histday,
lev_histmth, type_run, ok_isccp, ok_regdyn, lonmin_ins, lonmax_ins,
latmin_ins, latmax_ins of module clesphys, not used.

Removed variable itap of module histwrite_phy_m, not used. There is a
variable itap in module time_phylmdz.

Added output of tro3.

In physiq, no need to compute wo at every time-step, since we only use
it in radlwsw.


Revision 209 - (view) (annotate) - [select for diffs]
Modified Wed Dec 7 17:37:21 2016 UTC (7 years, 4 months ago) by guez
File length: 40294 byte(s)
Diff to previous 208
The program did not work with cycle_diurne set to false. mu0 in
physiq, which is supposed to be a cosine, was set to -999.999. So prmu
in swu had a value of the order of 1e3. So zrmum1 in sw2s had a value
of the order of 1e3. So zrayl in sw2s had a value of the order of
1e15. So ztray and ptauaz in swclr also had a large value. So zcorae
at line 138 in swclr had a large negative value, which resulted in
overflow at line 138.

This assignment of -999.999 to mu0 dates from somewhere between
revisions 348 and 524 of LMDZ. It was corrected in revision 1068 of
LMDZ with a call to angle which was present in revision 348. However,
procedure angle was removed from LMDZE in revision 22 because it was
not used. Hesitated to bring back angle but, finally, just removed the
option of having no diurnal cycle.


Revision 208 - (view) (annotate) - [select for diffs]
Modified Wed Dec 7 16:44:53 2016 UTC (7 years, 4 months ago) by guez
File length: 40397 byte(s)
Diff to previous 207
Module academic was not used.

Useful values for iflag_phys were only 0 and 1 so changed type to logical.

Definition of fmagic was duplicated in procedures alboc and alboc_cd
so moved it up to interfsurf_hq and also moved multiplication by
fmagic (following LMDZ).


Revision 207 - (view) (annotate) - [select for diffs]
Modified Thu Sep 1 10:30:53 2016 UTC (7 years, 7 months ago) by guez
File length: 41535 byte(s)
Diff to previous 206
New philosophy on compiler options.

Removed source code for thermcep = f. (Not used in LMDZ either.)


Revision 206 - (view) (annotate) - [select for diffs]
Modified Tue Aug 30 12:52:46 2016 UTC (7 years, 7 months ago) by guez
File length: 41996 byte(s)
Diff to previous 205
Removed dimension klev of flux_[tquv] and y_flux_[tquv] in
clmain. Removed dimension klev of flux_[tquv] in physiq. Removed
dimension klev of flux_[tq] in hbtm. Removed dimension klev of
flux_[tq] in clqh and computations for layers other than the surface
layer. Removed dimension klev of flux_v in clvent and computations for
layers other than the surface layer. Values for layers other than the
surface layer were not used nor output (not even in LMDZ).

Removed argument dnwd0 of concvl. Simply write - mp in physiq
(following LMDZ).

Removed useless intermediary variables zxflux[tquv] in physiq.


Revision 205 - (view) (annotate) - [select for diffs]
Modified Tue Jun 21 15:16:03 2016 UTC (7 years, 10 months ago) by guez
File length: 42581 byte(s)
Diff to previous 204
dnwd0 is just - mp. Compute it simply in concvl.

da, phi and mp were set to 0 in physiq before the call to
concvl. Clearer to set da1, phi1 and mp1 to 0 in cv_driver so they are
intent out.

qcheck was debugging, printed to standard output and was called
several times per time step of physics.

zxtsol was a duplicate of ztsol.


Revision 204 - (view) (annotate) - [select for diffs]
Modified Wed Jun 8 15:27:32 2016 UTC (7 years, 10 months ago) by guez
File length: 44314 byte(s)
Diff to previous 203
Removed calls to diagphy and diagetpq. Those were debugging
procedures, which printed to standard output and were called several
times per time step of physics.


Revision 203 - (view) (annotate) - [select for diffs]
Modified Wed Jun 8 15:10:12 2016 UTC (7 years, 10 months ago) by guez
File length: 48454 byte(s)
Diff to previous 202
if_ebil in physiq can be modified by reading physiq_nml so tests on
if_ebil should be after reading physiq_nml.


Revision 202 - (view) (annotate) - [select for diffs]
Modified Wed Jun 8 12:23:41 2016 UTC (7 years, 10 months ago) by guez
File length: 48454 byte(s)
Diff to previous 200
Promoted lmt_pas from local variable of physiq to variable of module
conf_gcm_m.

Removed variable run_off of module interface_surf. Was not
used. Called run_off_ter in LMDZ, but not used nor printed there
either.

Simplified logic in interfoce_lim. The way it was convoluted with
interfsurf_hq and clmain was quite a mess. Extracted reading of SST
into a separate procedure: read_sst. We do not need SST and pctsrf_new
at the same time: SST is not needed for sea-ice surface. I did not
like this programming: going through the procedure repeatedly for
different purposes and testing inside whether there was something to
do or it was already done. Reading is now only controlled by itap and
lmt_pas, instead of debut, jour, jour_lu and deja_lu. Now we do not
copy from pct_tmp to pctsrf_new every time step.

Simplified processing of pctsrf in clmain and below. It was quite
troubling: pctsrf_new was intent out in interfoce_lim but only defined
for ocean and sea-ice. Also the idea of having arrays for all
surfaces, pcsrf and pctsrf_new, in interfsurf_hq, which is called for
a particular surface, was troubling. pctsrf_new for all surfaces was
intent out in intefsurf_hq, but not defined for all surfaces at each
call. Removed argument pctsrf_new of clmain: was a duplicate of pctsrf
on output, and not used in physiq. Replaced pctsrf_new in clmain by
pctsrf_new_oce and pctsrf_new_sic, which were the only ones modified.


Revision 200 - (view) (annotate) - [select for diffs]
Modified Thu Jun 2 15:40:30 2016 UTC (7 years, 10 months ago) by guez
File length: 48899 byte(s)
Diff to previous 195
Changes results.

Revision 195 - (view) (annotate) - [select for diffs]
Modified Wed May 18 17:56:44 2016 UTC (7 years, 11 months ago) by guez
File length: 48899 byte(s)
Diff to previous 192
In cv30_feed, iflag1 is 0 on entry so we can simplify the test for
iflag1 = 7.

In cv30_feed, for the computation of icb, replaced sequential search
(with a useless end of loop on k) by a call to locate.

In CV30 routines, replaced len, nloc, nd, na by klon or
klev. Philosophy: no more generality than actually necessary.

Converted as many variables as possible to named constants in
cv30_param_m and downgraded pbcrit, ptcrit, dtovsh, dpbase, dttrig,
tau, delta to local objects in procedures. spfac, betad and omtrain
are useless and removed.

Instead of filling the array sigp with the constant spfac in
cv30_undilute2, just made sigp a constant in cv30_unsat.

In cv_driver, define as allocatable variables that are only
used on the range (ncum, nl).


Revision 192 - (view) (annotate) - [select for diffs]
Modified Thu May 12 13:00:07 2016 UTC (7 years, 11 months ago) by guez
File length: 48921 byte(s)
Diff to previous 191
Removed the possibility to read aerosol fields. This was not
operational. It required fields already regridded in the three
dimensions. It seems quite weird to me not to have online vertical
regridding, since the surface pressure varies. There was the
possibility of adding vertical regridding. But development is not in
the spirit of LMDZE. Furthermore, the treatment of aerosols that was
in LMDZE is completely obsolete in LMDZ. We could try importing the
up-to-date treatment of aerosols of LMDZ, but that carries LMDZE quite
far: there is the problem of the calendar and the problem of updated
radiative transfer required for updated aerosols.


Revision 191 - (view) (annotate) - [select for diffs]
Modified Mon May 9 19:56:28 2016 UTC (7 years, 11 months ago) by guez
File length: 49430 byte(s)
Diff to previous 190
Extracted the call to read_comdissnew out of conf_gcm.

Made ok_instan a variable of module clesphys, itau_phy a variable of
module phyetat0_m, nid_ins a variable of module ini_histins_m, itap a
variable of new module time_phylmdz, so that histwrite_phy can be
called from any procedure without the need to cascade those variables
into that procedure. Made itau_w a variable of module time_phylmdz so
that it is computed only once per time step of physics.

Extracted variables of module clesphys which were in namelist
conf_phys_nml into their own namelist, clesphys_nml, and created
procedure read_clesphys reading clesphys_nml, to avoid side effect.

No need for double precision in procedure getso4fromfile. Assume there
is a single variable for the whole year in the NetCDF file instead of
one variable per month.

Created generic procedure histwrite_phy and removed procedure
write_histins, following LMDZ. histwrite_phy has only two arguments,
can be called from anywhere, and should manage the logic of writing or
not writing into various history files with various operations. So the
test on ok_instan goes inside histwrite_phy.

Test for raz_date in phyetat0 instead of physiq to avoid side effect.

Created procedure increment_itap to avoid side effect.

Removed unnecessary differences between procedures readsulfate and
readsulfate_pi.


Revision 190 - (view) (annotate) - [select for diffs]
Modified Thu Apr 14 15:15:56 2016 UTC (8 years ago) by guez
File length: 52648 byte(s)
Diff to previous 189
Created module cv_thermo_m around procedure cv_thermo. Moved variables
from module cvthermo to module cv_thermo_m, where they are defined.

In ini_histins and initphysto, using part of rlon and rlat from
phyetat0_m is pretending that we do not know about the dynamical grid,
while the way we extract zx_lon(:, 1) and zx_lat(1, :) depends on
ordering inside rlon and rlat. So we might as well simplify and
clarify by using directly rlonv and rlatu.

Removed intermediary variables in write_histins and phystokenc.


Revision 189 - (view) (annotate) - [select for diffs]
Modified Tue Mar 29 15:20:23 2016 UTC (8 years ago) by guez
File length: 55611 byte(s)
Diff to previous 188
There was a function gr_phy_write_3d in dyn3d and a function
gr_phy_write_2d in module grid_change. Moved them into a new module
gr_phy_write_m under a generic interface gr_phy_write. Replaced calls
to gr_fi_ecrit by calls to gr_phy_write.

Removed arguments len, nloc and nd of cv30_compress.

Removed arguments wd and wd1 of cv30_uncompress, wd of cv30_yield, wd
of concvl, wd1 of cv_driver. Was just filled with 0. Removed option
ok_gust in physiq, never used.

In cv30_unsat, cv30_yield and cv_driver, we only need to define b to
level nl - 1.


Revision 188 - (view) (annotate) - [select for diffs]
Modified Tue Mar 22 16:31:39 2016 UTC (8 years, 1 month ago) by guez
File length: 57315 byte(s)
Diff to previous 186
Removed argument ncum of cv30_unsat, arguments nloc, ncum, nd, na of cv30_yield.


Revision 186 - (view) (annotate) - [select for diffs]
Modified Mon Mar 21 15:36:26 2016 UTC (8 years, 1 month ago) by guez
File length: 57621 byte(s)
Diff to previous 183
Removed variables nlm and nlp of module cv30_param_m. We do not
believe much in the benefit of these intermediary variables so we go
for clarity.

Removed variable noff of module cv30_param_m. Never used anywhere
else. Just set the value of nl explicitly in cv30_param.

Removed argument nd of cv30_param. Only called with nd = klev.

Replaced calls to zilch by array assignments. There was a strange
double call to zilch with the same arguments in cv30_mixing.

Removed procedure cv_flag. Just set the value of variable cvflag_grav
of module cvflag at declaration.


Revision 183 - (view) (annotate) - [select for diffs]
Modified Wed Mar 16 14:42:58 2016 UTC (8 years, 1 month ago) by guez
File length: 57542 byte(s)
Diff to previous 182
Removed argument snow_con of concvl. Just set snow_con to 0 in physiq
instead of in concvl.

Removed unused argument cbmf1 of cv_driver.

Added computation and output of ptop (following LMDZ).


Revision 182 - (view) (annotate) - [select for diffs]
Modified Wed Mar 16 11:11:27 2016 UTC (8 years, 1 month ago) by guez
File length: 57203 byte(s)
Diff to previous 180
Replaced integer variable iflag_con of module clesphys2 by logical
variable conv_emanuel.


Revision 180 - (view) (annotate) - [select for diffs]
Modified Tue Mar 15 17:07:47 2016 UTC (8 years, 1 month ago) by guez
File length: 57225 byte(s)
Diff to previous 178
In procedure concvl, renamed arguments snow to snow_con and ktop to
itop_con (names of corresponding actual arguments in physiq). Removed
useless argument pmflxs. Removed the alternative between iflag_con ==
3 or 4, the same computations were done in both cases.


Revision 178 - (view) (annotate) - [select for diffs]
Modified Fri Mar 11 18:47:26 2016 UTC (8 years, 1 month ago) by guez
File length: 57235 byte(s)
Diff to previous 175
Moved variables date0, deltat, datasz_max, ncvar_ids, point, buff_pos,
buffer, regular from module histcom_var to modules where they are
defined.

Removed procedure ioipslmpp, useless for a sequential program.

Added argument datasz_max to histwrite_real (to avoid circular
dependency with histwrite).

Removed useless variables and computations everywhere.

Changed real litteral constants from default kind to double precision
in lwb, lwu, lwvn, sw1s, swtt, swtt1, swu.

Removed unused arguments: paer of sw, sw1s, sw2s, swclr; pcldsw of
sw1s, sw2s; pdsig, prayl of swr; co2_ppm of clmain, clqh; tsol of
transp_lay; nsrf of screenp; kcrit and kknu of gwstress; pstd of
orosetup.

Added output of relative humidity.


Revision 175 - (view) (annotate) - [select for diffs]
Modified Fri Feb 5 16:02:34 2016 UTC (8 years, 2 months ago) by guez
File length: 57159 byte(s)
Diff to previous 174
Added argument itau_phy to ini_histins, phyetat0, phytrac and
phyredem0. Removed variable itau_phy of module temps. Avoiding side
effect in etat0 and phyetat0. The procedures ini_histins, phyetat0,
phytrac and phyredem0 are all called by physiq so there is no
cascading variable penalty.

In procedure inifilr, made the condition on colat0 weaker to allow for
rounding error.

Removed arguments flux_o, flux_g and t_slab of clmain, flux_o and
flux_g of clqh and interfsurf_hq, tslab and seaice of phyetat0 and
phyredem. NetCDF variables TSLAB and SEAICE no longer in
restartphy.nc. All these variables were related to the not-implemented
slab ocean. seaice and tslab were just set to 0 in phyetat0 and never
used nor changed. flux_o and flux_g were computed in clmain but never
used in physiq.

Removed argument swnet of clqh. Was used only to compute a local
variable, swdown, which was not used.


Revision 174 - (view) (annotate) - [select for diffs]
Modified Wed Nov 25 20:14:19 2015 UTC (8 years, 5 months ago) by guez
File length: 57592 byte(s)
Diff to previous 171
Simplifications in procedure albsno. Since veget(:, 2:) was 0,
iterations 2 to nvm of the loop computing alb_neig_grid were useless.

Useless initializations of alb_neige in procedure interfsurf_hq:
alb_neig is always computed by albsno just before being used. Useless
computation of local variable zfra in the land ice case.


Revision 171 - (view) (annotate) - [select for diffs]
Modified Tue Sep 29 19:48:59 2015 UTC (8 years, 6 months ago) by guez
File length: 57572 byte(s)
Diff to previous 169
Removed argument ierr of abort_gcm. It was always 1 and not used.

Just encapsulated pres2lev into a module.

Removed test on run_off in procedure calcul_fluxs. Useless. The test
is always done just before in interfsurf_hq.

Removed named constants rea and repsm in module suphec: never used.


Revision 169 - (view) (annotate) - [select for diffs]
Modified Mon Sep 14 17:13:16 2015 UTC (8 years, 7 months ago) by guez
File length: 57602 byte(s)
Diff to previous 159
In inifilr_hemisph, colat0 is necessarily >= 1. / rlamda(iim) (see
notes) so we simplify the definition of jfilt. No need to keep modfrst
values at other latitudes than the current one, and we can have one
loop on latitudes instead of two.

Just encapsulated transp into a module.


Revision 159 - (view) (annotate) - [select for diffs]
Modified Tue Jul 21 15:29:52 2015 UTC (8 years, 9 months ago) by guez
File length: 57634 byte(s)
Diff to previous 158
Write variables from phytrac to "histins.nc" instead of
"histrac.nc". The idea is to have different output files only if they
have different coordinates, and not according to content (following LMDZ).


Revision 158 - (view) (annotate) - [select for diffs]
Modified Tue Jul 21 14:44:45 2015 UTC (8 years, 9 months ago) by guez
File length: 57632 byte(s)
Diff to previous 157
Subroutine sugwd sets variables of module yoegwd. Better to put it
into module yoegwd.

Variables of module yoegwd other than NKTOPG, NSTRA can be symbolic
constants. sugwd now only sets NKTOPG, NSTRA. Simplified the
computation of NKTOPG, NSTRA by making the local variable zpm1r an
array instead of a scalar and calling ifirstloc.


Revision 157 - (view) (annotate) - [select for diffs]
Modified Mon Jul 20 16:01:49 2015 UTC (8 years, 9 months ago) by guez
File length: 57633 byte(s)
Diff to previous 155
Just encapsulated SUBROUTINE vlsplt in a module and cleaned it.

In procedure vlx, local variables dxqu and adxqu only need indices
iip2:ip1jm. Otherwise, just cleaned vlx.

Procedures dynredem0 and dynredem1 no longer have argument fichnom,
they just operate on a file named "restart.nc". The programming
guideline here is that gcm should not be more complex than it needs by
itself, other programs (ce0l etc.) just have to adapt to gcm. So ce0l
now creates files "restart.nc" and "restartphy.nc".

In order to facilitate decentralizing the writing of "restartphy.nc",
created a procedure phyredem0 out of phyredem. phyredem0 creates the
NetCDF header of "restartphy.nc" while phyredem writes the NetCDF
variables. As the global attribute itau_phy needs to be filled in
phyredem0, at the beginnig of the run, we must compute its value
instead of just using itap. So we have a dummy argument lmt_pas of
phyredem0. Also, the ncid of "startphy.nc" is upgraded from local
variable of phyetat0 to dummy argument. phyetat0 no longer closes
"startphy.nc".

Following the same decentralizing objective, the ncid of "restart.nc"
is upgraded from local variable of dynredem0 to module variable of
dynredem0_m. "restart.nc" is not closed at the end of dynredem0 nor
opened at the beginning of dynredem1.

In procedure etat0, instead of creating many vectors of size klon
which will be filled with zeroes, just create one array null_array.

In procedure phytrac, instead of writing trs(: 1) to a text file,
write it to "restartphy.nc" (following LMDZ). This is better because
now trs(: 1) is next to its coordinates. We can write to
"restartphy.nc" from phytrac directly, and not add trs(: 1) to the
long list of variables in physiq, thanks to the decentralizing of
"restartphy.nc".

In procedure phyetat0, we no longer write to standard output the
minimum and maximum values of read arrays. It is ok to check input and
abort on invalid values but just printing statistics on input seems too
much useless computation and out of place clutter.


Revision 155 - (view) (annotate) - [select for diffs]
Modified Wed Jul 8 17:03:45 2015 UTC (8 years, 9 months ago) by guez
File length: 60331 byte(s)
Diff to previous 154
Do not write any longer to startphy.nc nor read from restartphy.nc the
NetCDF variable ALBLW: it was the same than ALBE. ALBE was for the
visible and ALBLW for the near infrared. In physiq, use only variables
falbe and albsol, removed falblw and albsollw. See revision 888 of
LMDZ.

Removed unused arguments pdp of SUBROUTINE lwbv, ptave of SUBROUTINE
lwv, kuaer of SUBROUTINE lwvd, nq of SUBROUTINE initphysto.


Revision 154 - (view) (annotate) - [select for diffs]
Modified Tue Jul 7 17:49:23 2015 UTC (8 years, 9 months ago) by guez
File length: 61058 byte(s)
Diff to previous 151
Removed argument dtphys of physiq. Use it directly from comconst in
physiq instead.

Donwgraded variables eignfnu, eignfnv of module inifgn_m to dummy
arguments of SUBROUTINE inifgn. They were not used elsewhere than in
the calling procedure inifilr. Renamed argument dv of inifgn to eignval_v.

Made alboc and alboc_cd independent of the size of arguments. Now we
can call them only at indices knindex in interfsurf_hq, where we need
them. Fixed a bug in alboc_cd: rmu0 was modified, and the
corresponding actual argument in interfsurf_hq is an intent(in)
argument of interfsurf_hq.

Variables of size knon instead of klon in interfsur_lim and interfsurf_hq.

Removed argument alb_new of interfsurf_hq because it was the same than
alblw. Simplified test on cycle_diurne, following LMDZ.

Moved tests on nbapp_rad from physiq to read_clesphys2. No need for
separate counter itaprad, we can use itap. Define lmt_pas and radpas
from integer input parameters instead of real-type computed values.


Revision 151 - (view) (annotate) - [select for diffs]
Modified Tue Jun 23 15:14:20 2015 UTC (8 years, 10 months ago) by guez
File length: 61491 byte(s)
Diff to previous 150
In procedure inifilr, only a part of the arrays modfrstu and modfrstv
were defined. Split these into 4 arrays that are fully defined and
used: modfrst[ns][uv].

Clarified the logic for the computation of jfilt[ns][uv]. Changed the
initial value of the search so that the initial values for northern
hemisphere and southern hemisphere cannot be the same.

Clarified the logic for the computation of modfrst[ns][uv]: removed
the cycle and exit instructions.


Revision 150 - (view) (annotate) - [select for diffs]
Modified Thu Jun 18 13:49:26 2015 UTC (8 years, 10 months ago) by guez
File length: 61646 byte(s)
Diff to previous 138
Removed unused arguments of groupe, cv3_undilute2, cv_undilute2,
interfsur_lim, drag_noro, orodrag, gwprofil

Chickened out of revision 148: back to double precision in
invert_zoom_x (and overloaded rtsafe).


Revision 138 - (view) (annotate) - [select for diffs]
Modified Fri May 22 23:13:19 2015 UTC (8 years, 11 months ago) by guez
File length: 61657 byte(s)
Diff to previous 137
Moved variable nb_files from module histcom_var to module
histbeg_totreg_m.

Removed unused argument q of writehist.

No history file is created in program ce0l so there is no need to call
histclo in etat0.

In phyredem, access variables rlat and rlon directly from module
phyetat0_m instead of having them as arguments. This is clearer for
the program gcm. There are bad side effects for the program ce0l: we
have to modify the module variables rlat and rlon in procedure etat0,
and we need the additional file phyetat0.f to compile ce0l.


Revision 137 - (view) (annotate) - [select for diffs]
Modified Wed May 6 15:51:03 2015 UTC (8 years, 11 months ago) by guez
File length: 61669 byte(s)
Diff to previous 134
Removed unused argument missval in ma_fucoll_r[1-3]1, ma_fufill_r[1-3]1.

Split filtreg into two procedures: filtreg_scal and filtreg_v. I did
not like the test on the extent of the argument and there was no
common code between the two cases: jjm and jjm + 1. Also, it is
simpler now to just remove the argument "direct" from filtreg_v instead
of allowing it and then stopping the program if it is false.

Removed the computation of pkf in reanalyse2nat, was not used.

As a consequence of the split of filtreg, had to extract the
computation of pkf out of exner_hyb. This is clearer anyway because we
want to be able to call exner_hyb with any size in the first two
dimensions (as in test_disvert). But at the same time exner_hyb
required particular sizes for the computation of pkf. It was
awkward. The only computation of pkf is now in leapfrog.


Revision 134 - (view) (annotate) - [select for diffs]
Modified Wed Apr 29 15:47:56 2015 UTC (8 years, 11 months ago) by guez
File length: 61683 byte(s)
Diff to previous 130
Sources inside, compilation outside.

Revision 130 - (view) (annotate) - [select for diffs]
Modified Tue Feb 24 15:43:51 2015 UTC (9 years, 2 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 61683 byte(s)
Diff to previous 129
The information in argument rdayvrai of calfis was redundant with the
information in argument time. Furthermore, in the physics part of gcm,
we need separately the day number (an integer) and the time of
day. So, replaced real argument rdayvrai of calfis containing elapsed
time by integer argument dayvrai containing day number. Corresponding
change in leapfrog. In procedure physiq, replaced real argument
rdayvrai by integer argument dayvrai. In procedures readsulfate and
readsulfate_preind, replaced real argument r_day by arguments dayvrai
and time.

In procedure alboc, replaced real argument rjour by integer argument
jour. alboc was always called by interfsurf_hq with actual argument
real(jour), and the meaning of the dummy argument in alboc seems to be
that it should be an integer.

In procedure leapfrog, local variable time could not be > 1. Removed
test.

In physiq, replaced nint(rdayvrai) by dayvrai. This changes the
results since julien now changes at 0 h instead of 12 h. This follows
LMDZ, where the argument of ozonecm is days_elapsed+1.


Revision 129 - (view) (annotate) - [select for diffs]
Modified Fri Feb 13 18:22:38 2015 UTC (9 years, 2 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 61678 byte(s)
Diff to previous 128
Removed arguments day0, anne0 of procedures initdynav and
inithist. Use directly day_ref, annee_ref instead.

Moved variables annee_ref, day_ref of module temps to module
dynetat0_m. Deleted variables dayref and anneeref of module conf_gcm_m
and removed them from namelist conf_gcm_nml. These variables were
troubling intermediary on the way to annee_ref and day_ref. Gave as
default values to annee_ref and day_ref the default values of dayref
and anneeref. Moved the test on raz_date from main unit gcm to
procedure dynetat0. Created namelist dynetat0_nml. Read annee_ref and
day_ref from standard input in dynetat0 and redefine them from
"start.nc" if not raz_date. Rationale: 1 - Choose the best programming
from the point of view of program gcm only, forgetting program ce0l. 2
- The normal case is to define annee_ref and day_ref from "start.nc"
so put them in module dynetat0_m rather than in conf_gcm_m. 3 - Try to
always read the same namelists in the same order regardless of choices
in previous namelists. Downsides: 1 -We now need the file "dynetat0.f"
for the program ce0l, because dynetat0_m is used by dynredem0. 2 - We
need to define annee_ref and day_ref from procedure etat0.

Removed useless variable day_end of module temps.


Revision 128 - (view) (annotate) - [select for diffs]
Modified Thu Feb 12 16:23:33 2015 UTC (9 years, 2 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 61658 byte(s)
Diff to previous 125
The variable temps of file restart.nc is always 0. So we remove the
possibility that it can be something else. So removed argument time_0
of caldyn, dynetat0, leapfrog.


Revision 125 - (view) (annotate) - [select for diffs]
Modified Fri Feb 6 15:00:28 2015 UTC (9 years, 2 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 61660 byte(s)
Diff to previous 118
Created procedure read_yomcst.

Deleted some intermediary variables in procedure orbit.


Revision 118 - (view) (annotate) - [select for diffs]
Modified Thu Dec 18 17:30:24 2014 UTC (9 years, 4 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 61674 byte(s)
Diff to previous 108
In file grilles_gcm.nc, renamed variable phis to orog, deleted
variable presnivs.

Removed variable bug_ozone from module clesphys.

In procedure ozonecm, moved computation of sint and cost out of the
loops on horizontal position and vertical level. Inverted the order of
the two loops. We can then move all computations from slat to aprim
out of the loop on vertical levels. Created variable slat2, following
LMDZ. Moved the limitation of column-density of ozone in cell at 1e-12
from radlwsw to ozonecm, following LMDZ.

Removed unused arguments u, albsol, rh, cldfra, rneb, diafra, cldliq,
pmflxr, pmflxs, prfl, psfl of phytrac.

In procedure yamada4, for all the arrays, replaced the dimension klon
by ngrid. At the end of the procedure, for the computation of kmn,kn,
kq and q2, changed the upper limit of the loop index from klon to ngrid.

In radlwsw, for the calculation of pozon, removed the factor
paprs(iof+i, 1)/101325, as in LMDZ. In procedure sw, removed the
factor 101325.0/PPSOL(JL), as in LMDZ.


Revision 108 - (view) (annotate) - [select for diffs]
Modified Tue Sep 16 14:00:41 2014 UTC (9 years, 7 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 61789 byte(s)
Diff to previous 103
Imported writefield from LMDZ. Close at the end of gcm the files which
were created by writefiled (not done in LMDZ).

Removed procedures for the output of Grads files. Removed calls to
dump2d. In guide, replaced calls to wrgrads by calls to writefield.

In vlspltqs, removed redundant programming of saturation
pressure. Call foeew from module FCTTRE instead.

Bug fix in interpre: size of w exceeding size of correponding actual
argument wg in advtrac.

In leapfrog, call guide until the end of the run, instead of six hours
before the end.

Bug fix in readsulfate_preind: type of arguments.


Revision 103 - (view) (annotate) - [select for diffs]
Modified Fri Aug 29 13:00:05 2014 UTC (9 years, 7 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 61734 byte(s)
Diff to previous 101
Renamed module cvparam to cv_param. Deleted procedure
cv_param. Changed variables of module cv_param into parameters.

In procedures cv_driver, cv_uncompress and cv3_uncompress, removed
some arguments giving dimensions and used module variables klon and
klev instead.

In procedures gradiv2, laplacien_gam and laplacien, changed
declarations of local variables because klevel is not always klev.

Removed code for nudging surface pressure.

Removed arguments pim and pjm of tau2alpha. Added assignment of false
to variable first.

Replaced real argument del of procedures foeew and FOEDE by logical
argument.


Revision 101 - (view) (annotate) - [select for diffs]
Modified Mon Jul 7 17:45:21 2014 UTC (9 years, 9 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 62337 byte(s)
Diff to previous 99
Removed unused files "interfoce_slab.f" and "gath2cpl.f". Removed
unused variables coastalflow and riverflow of module
interface_surf. Removed unused arguments cal, radsol, dif_grnd,
fluxlat, fluxsens, dflux_s, dflux_l of procedure fonte_neige. Removed
unused arguments tslab, seaice of procedure interfsurf_hq and
clqh. Removed unused arguments seaice of procedure clmain.

In interfsurf_hq, used variable soil_model of module clesphys2 instead
of cascading it as an argument from physiq.

In phyetat0, stop if masque not found.

Variable TS instead of "TS[0-9][0-9]" in "(re)startphy.nc", with
additional dimension nbsrf.


Revision 99 - (view) (annotate) - [select for diffs]
Modified Wed Jul 2 18:39:15 2014 UTC (9 years, 9 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 62266 byte(s)
Diff to previous 98
Created procedure test_disvert (following LMDZ). Added procedures
hybrid and funcd in module disvert_m. Upgraded compute_ab from
internal procedure of disvert to module procedure. Added variables y,
ya in module disvert_m. Upgraded s from local variable of procedure
disvert to module variable.

Renamed allowed value of variable vert_sampling in procedure disvert
from "read" to "read_hybrid". Added possibility to read pressure
values, value "read_pressure". Replaced vertical distribution for
value "param" by the distribution "strato_correct" from LMDZ (but kept
the value "param"). In case "tropo", replaced 1 by dsigmin (following
LMDZ). In case "strato", replaced 0.3 by dsigmin (following LMDZ).

Changed computation of bp in procedure compute_ab.

Removed debugindex case in clmain. Removed useless argument rlon of
procedure clmain. Removed useless variables ytaux, ytauy of procedure
clmain.

Removed intermediary variables tsol, qsol, tsolsrf, tslab in procedure
etat0.

Removed variable ok_veget:. coupling with the model Orchid is not
possible. Removed variable ocean: modeling an ocean slab is not
possible.

Removed useless variables tmp_rriv and tmp_rcoa from module
interface_surf.

Moved initialization of variables da, mp, phi in procedure physiq to
to inside the test iflag_con >= 3.


Revision 98 - (view) (annotate) - [select for diffs]
Modified Tue May 13 17:23:16 2014 UTC (9 years, 11 months ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 62705 byte(s)
Diff to previous 97
Split inter_barxy.f : one procedure per module, one module per
file. Grouped the files into a directory.

Split orbite.f.

Value of raz_date read from the namelist is taken into account
(resetting the step counter) even if annee_ref == anneeref and day_ref
== dayref. raz_date is no longer modified by gcm main unit. (Following
LMDZ.)

Removed argument klon of interfsur_lim. Renamed arguments lmt_alb,
lmt_rug to alb_new, z0_new (same name as corresponding actual
arguments in interfsurf_hq).

Removed argument klon of interfsurf_hq.

Removed arguments qs and d_qs of diagetpq. Were always
zero. Downgraded arguments d_qw, d_ql of diagetpq to local variables,
they were not used in physiq. Removed all computations for solid water
in diagetpq, was just zero.


Downgraded arguments fs_bound, fq_bound of diagphy to local variables,
they were not used in physiq. Encapsulated in a test on iprt all
computations in diagphy.

Removed parameter nbtr of module dimphy. Replaced it everywhere in the
program by nqmx - 2.

Removed parameter rnpb of procedure physiq. Kept the true case in
physiq and phytrac. Could not work with false case anyway.

Removed arguments klon, llm, airephy of qcheck. Removed argument ftsol
of initrrnpb, was not used.


Revision 97 - (view) (annotate) - [select for diffs]
Modified Fri Apr 25 14:58:31 2014 UTC (10 years ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 65089 byte(s)
Diff to previous 92
Module pressure_var is now only used in gcm. Created local variables
pls and p3d in etat0, added argument p3d to regr_pr_o3.

In leapfrog, moved computation of p3d and exner function immediately
after integrd, for clarity (does not change the execution).

Removed unused arguments: ntra, tra1 and tra of cv3_compress; ntra,
tra and traent of cv3_mixing; ntra, ftra, ftra1 of cv3_uncompress;
ntra, tra, trap of cv3_unsat; ntra, tra, trap, traent, ftra of
cv3_yield; tra, tvp, pbase, bbase, dtvpdt1, dtvpdq1, dplcldt,
dplcldr, ntra of concvl; ndp1, ntra, tra1 of cv_driver

Removed argument d_tra and computation of d_tra in concvl. Removed
argument ftra1 and computation of ftra1 in cv_driver. ftra1 was just
set to 0 in cv_driver, associated to d_tra in concvl, and set again to
zero in concvl.


Revision 92 - (view) (annotate) - [select for diffs]
Modified Wed Mar 26 18:16:05 2014 UTC (10 years, 1 month ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 66009 byte(s)
Diff to previous 91
Extracted procedures that were in module calendar into separate files.


Revision 91 - (view) (annotate) - [select for diffs]
Modified Wed Mar 26 17:18:58 2014 UTC (10 years, 1 month ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 66008 byte(s)
Diff to previous 90
Removed unused variables lock_startdate and time_stamp of module
calendar.

Noticed that physiq does not change the surface pressure. So removed
arguments ps and dpfi of subroutine addfi. dpfi was always 0. The
computation of ps in addfi included some averaging at the poles. In
principle, this does not change ps but in practice it does because of
finite numerical precision. So the results of the simulation are
changed. Removed arguments ps and dpfi of calfis. Removed argument
d_ps of physiq.

du at the poles is not computed by dudv1, so declare only the
corresponding latitudes in dudv1. caldyn passes only a section of the
array dudyn as argument.

Removed variable niadv of module iniadvtrac_m.

Declared arguments of exner_hyb as assumed-shape arrays and made all
other horizontal sizes in exner_hyb dynamic. This allows the external
program test_disvert to use exner_hyb at a single horizontal position.


Revision 90 - (view) (annotate) - [select for diffs]
Modified Wed Mar 12 21:16:36 2014 UTC (10 years, 1 month ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 66329 byte(s)
Diff to previous 82
Removed procedures ini_histday, ini_histhf, write_histday and
write_histhf.

Divided file regr_pr_coefoz.f into regr_pr_av.f and
regr_pr_int.f. (Following LMDZ.) Divided module regr_pr_coefoz into
modules regr_pr_av_m and regr_pr_int_m. Renamed regr_pr_av_coefoz to
regr_pr_av and regr_pr_int_coefoz to regr_pr_int. The idea is that
those procedures are more general than Mobidic.

Removed argument dudyn of calfis and physiq. dudyn is not used either
in LMDZ. Removed computation in calfis of unused variable zpsrf (not
used either in LMDZ). Removed useless computation of dqfi in calfis
(part 62): the results were overwritten. (Same in LMDZ.)


Revision 82 - (view) (annotate) - [select for diffs]
Modified Wed Mar 5 14:57:53 2014 UTC (10 years, 1 month ago) by guez
Original Path: trunk/phylmd/physiq.f
File length: 68555 byte(s)
Copied from: trunk/phylmd/physiq.f90 revision 80
Diff to previous 79
Changed all ".f90" suffixes to ".f".

Revision 79 - (view) (annotate) - [select for diffs]
Modified Fri Feb 28 17:52:47 2014 UTC (10 years, 1 month ago) by guez
Original Path: trunk/phylmd/physiq.f90
File length: 68555 byte(s)
Diff to previous 78
Moved procedure iniconst inside module comconst. Removed useless
variables of module comconst: im, jm, lllm, imp1, jmp1, lllmm1,
lllmp1, lcl, cotot, unsim. Move definition of dtvr that was in
dynetat0 and etat0 to iniconst. Moved comparison of dtvr from day_step
and start.nc that was in gcm to dynetat0. Moved call to disvert out of
iniconst. Moved call to iniconst in gcm before call to dynetat0.

Removed unused argument pvteta of physiq (not used either in LMDZ).


Revision 78 - (view) (annotate) - [select for diffs]
Modified Wed Feb 5 17:51:07 2014 UTC (10 years, 2 months ago) by guez
Original Path: trunk/phylmd/physiq.f90
File length: 68656 byte(s)
Diff to previous 76
Moved procedure inigeom into module comgeom.

In disvert, renamed s_sampling to vert_sampling, following
LMDZ. Removed choice strato1. In case read, read ap and bp instead of
s (following LMDZ).

Added argument phis to start_init_orog and start_init_dyn, and removed
variable phis of module start_init_orog_m. In etat0 and
start_init_orog, renamed relief to zmea_2d. In start_init_dyn, renamed
psol to ps.

In start_init_orog, renamed relief_hi to relief. No need to set
phis(iim + 1, :) = phis(1, :), already done in grid_noro.

Documentation for massbar out of SVN, in massbar.txt. Documentation
was duplicated in massdair, but not relevant in massdair.

In conflx, no need to initialize pen_[ud] and pde_[ud]. In flxasc,
used intermediary variable fact (following LMDZ).

In grid_noro, added local variable zmea0 for zmea not smoothed and
computed zphi from zmea instead of zmea0 (following LMDZ). This
changes the results of ce0l.

Removed arguments pen_u and pde_d of phytrac and nflxtr, which were
not used.


Revision 76 - (view) (annotate) - [select for diffs]
Modified Fri Nov 15 18:45:49 2013 UTC (10 years, 5 months ago) by guez
Original Path: trunk/phylmd/physiq.f90
File length: 68698 byte(s)
Diff to previous 73
Moved everything out of libf.

Revision 73 - (view) (annotate) - [select for diffs]
Modified Fri Nov 15 17:48:30 2013 UTC (10 years, 5 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 68698 byte(s)
Diff to previous 72
Renamed tpot to teta and psol to ps in etat0.

Replaced calls to flincom by calls to NetCDF95 in startdyn. lon_ini,
lat_ini and levdyn_ini are now pointers.

Revision 72 - (view) (annotate) - [select for diffs]
Modified Tue Jul 23 13:00:07 2013 UTC (10 years, 9 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 68785 byte(s)
Diff to previous 71
NaN to signalling NaN in gfortran_debug.mk.

Removed unused procedures in getincom and getincom2. In procedure
conf_interface, replaced call to getincom by new namelist. Moved
procedure conf_interface into module interface_surf.

Added variables sig1 and w01 to startphy.nc and restartphy.nc, for
procedure cv_driver. Renamed (ema_)?work1 and (ema_)?work2 to sig1 and
w01 in concvl and physiq.

Deleted unused arguments of clmain, clqh and intersurf_hq, among which
(y)?sollwdown. Following LMDZ, in physiq, read sollw instead of
sollwdown from startphy.nc, write sollw instead of sollwdown to
restartphy.nc.

In procedure sw, initialized zfs[ud][pn]a[di], for runs where ok_ade
and ok_aie are false. (Following LMDZ.)

Added dimension klev to startphy.nc and restartphy.nc, and deleted
dimension horizon_vertical. Made t_ancien and q_ancien two-dimensional
NetCDF variables. Bug fix: in phyetat0, define ratqs, clwcon and
rnebcon for vertical levels >=2.

Bug fix: set mfg, p[de]n_[ud] to 0. when iflag_con >= 3. (Following LMDZ.)


Revision 71 - (view) (annotate) - [select for diffs]
Modified Mon Jul 8 18:12:18 2013 UTC (10 years, 9 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 68722 byte(s)
Diff to previous 70
No reason to call inidissip in ce0l.

In inidissip, set random seed to 1 beacuse PGI compiler does not
accept all zeros.

dq was computed needlessly in caladvtrac. Arguments masse and dq of
calfis not used.

Replaced real*8 by double precision.

Pass arrays with inverted order of vertical levels to conflx instead
of creating local variables for this inside conflx.


Revision 70 - (view) (annotate) - [select for diffs]
Modified Mon Jun 24 15:39:52 2013 UTC (10 years, 10 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 68729 byte(s)
Diff to previous 69
In procedure, "addfi" access directly the module variable "dtphys"
instead of going through an argument.

In "conflx", do not create a local variable for temperature with
reversed order of vertical levels. Instead, give an actual argument
with reversed order in "physiq".

Changed names of variables "rmd" and "rmv" from module "suphec_m" to
"md" and "mv".

In "hgardfou", print only the first temperature out of range found.


Revision 69 - (view) (annotate) - [select for diffs]
Modified Mon Feb 18 16:33:12 2013 UTC (11 years, 2 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 68855 byte(s)
Diff to previous 68
Deleted files cvparam3.f90 and nuagecom.f90. Moved variables from
module cvparam3 to module cv3_param_m. Moved variables rad_chau1 and
rad_chau2 from module nuagecom to module conf_phys_m.

Read clesphys2_nml from conf_phys instead of gcm.

Removed argument iflag_con from several procedures. Access module
variable instead.


Revision 68 - (view) (annotate) - [select for diffs]
Modified Wed Nov 14 16:59:30 2012 UTC (11 years, 5 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 70590 byte(s)
Diff to previous 62
Split "flincom.f90" into "flinclo.f90", "flinfindcood.f90",
"flininfo.f90" and "flinopen_nozoom.f90", in directory
"IOIPSL/Flincom".

Renamed "etat0_lim" to "ce0l", as in LMDZ.

Split "readsulfate.f" into "readsulfate.f90", "readsulfate_preind.f90"
and "getso4fromfile.f90".

In etat0, renamed variable q3d to q, as in "dynredem1". Replaced calls
to Flicom procedures by calls to NetCDF95.

In leapfrog, added call to writehist.

Extracted ASCII art from "grid_noro" into a file
"grid_noro.txt". Transformed explicit-shape local arrays into
automatic arrays, so that test on values of iim and jjm is no longer
needed. Test on weight:
          IF (weight(ii, jj) /= 0.) THEN
is useless. There is already a test before:
    if (any(weight == 0.)) stop "zero weight in grid_noro"

In "aeropt", replaced duplicated lines with different values of inu by
a loop on inu.

Removed arguments of "conf_phys". Corresponding variables are now
defined in "physiq", in a namelist. In "conf_phys", read a namelist
instead of using getin.


Revision 62 - (view) (annotate) - [select for diffs]
Modified Thu Jul 26 14:37:37 2012 UTC (11 years, 9 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 70376 byte(s)
Diff to previous 61
Changed handling of compiler in compilation system.

Removed the prefix letters "y", "p", "t" or "z" in some names of variables.

Replaced calls to NetCDF by calls to NetCDF95.

Extracted "ioget_calendar" procedures from "calendar.f90" into a
separate file.

Extracted to a separate file, "mathop2.f90", procedures that were not
part of the generic interface "mathop" in "mathop.f90".

Removed computation of "dq" in "bilan_dyn", which was not used.

In "iniadvtrac", removed schemes 20 Slopes and 30 Prather. Was not
compatible with declarations of array sizes.

In "clcdrag", "ustarhb", "vdif_kcay", "yamada4" and "coefkz", changed
the size of some arrays from "klon" to "knon".

Removed possible call to "conema3" in "physiq".

Removed unused argument "cd" in "yamada".


Revision 61 - (view) (annotate) - [select for diffs]
Modified Fri Apr 20 14:58:43 2012 UTC (12 years ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 71581 byte(s)
Diff to previous 57
No more included file in LMDZE, not even "netcdf.inc".

Created a variable containing the list of common source files in
GNUmakefile. So we now also see clearly files that are specific to
each program.

Split module "histcom". Assembled resulting files in directory
"Histcom".

Removed aliasing in calls to "laplacien".


Revision 57 - (view) (annotate) - [select for diffs]
Modified Mon Jan 30 12:54:02 2012 UTC (12 years, 2 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 71578 byte(s)
Diff to previous 56
Write used namelists to file "" instead of standard output.

Avoid aliasing in "inidissip" in calls to "divgrad2", "divgrad",
"gradiv2", "gradiv", "nxgraro2" and "nxgrarot". Add a degenerate
dimension to arrays so they have rank 3, like the dummy arguments in
"divgrad2", "divgrad", "gradiv2", "gradiv", "nxgraro2" and "nxgrarot".

Extract the initialization part from "bilan_dyn" and make a separate
procedure, "init_dynzon", from it.

Move variables from modules "iniprint" and "logic" to module
"conf_gcm_m".

Promote internal procedures of "fxy" to private procedures of module
"fxy_m".

Extracted documentation from "inigeom". Removed useless "save"
attributes. Removed useless intermediate variables. Extracted
processing of poles from loop on latitudes. Write coordinates to file
"longitude_latitude.txt" instead of standard output.

Do not use ozone tracer for radiative transfer.


Revision 56 - (view) (annotate) - [select for diffs]
Modified Tue Jan 10 19:02:02 2012 UTC (12 years, 3 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 71712 byte(s)
Diff to previous 54
Imported "writehist.f" from LMDZ.

Moved module variable "histaveid" from "com_io_dyn" to "initdynav_m".

In "inithist", access directly module variables from "com_io_dyn"
instead of going through the arguments. Copying from LMDZ, write "u"
and scalar variables to separate files. Create a new variable for the
new file in "com_io_dyn". Copying from LMDZ, change the vertical axes
of the three files.

Removed some useless initializations in "dissip".

In "bilan_dyn", removed useless variable "time". Avoiding the
approximate test on "dt_cum" being a multiple of "dt_app", just
compute "ncum" from known usage of "bilan_dyn" and compute "dt_cum"
from "ncum". Change "periodav" from real to integer in
"conf_gcm_m". Since "day_step" is required to be a multiple of
"iperiod", so is "ncum".


Revision 54 - (view) (annotate) - [select for diffs]
Modified Tue Dec 6 15:07:04 2011 UTC (12 years, 4 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 71789 byte(s)
Diff to previous 53
Removed Numerical Recipes procedure "ran1". Replaced calls to "ran1"
in "inidissip" by calls to intrinsic procedures.

Split file "interface_surf.f90" into a file with a module containing
only variables, "interface_surf", and single-procedure files. Gathered
files into directory "Interface_surf".

Added argument "cdivu" to "gradiv" and "gradiv2", "cdivh" to
"divgrad2" and "divgrad", and "crot" to "nxgraro2" and
"nxgrarot". "dissip" now uses variables "cdivu", "cdivh" and "crot"
from module "inidissip_m", so it can pass them to "gradiv2",
etc. Thanks to this modification, we avoid a circular dependency
betwwen "inidissip.f90" and "gradiv2.f90", etc. The value -1. used by
"gradiv2", for instance, during computation of eigenvalues is not the
value "cdivu" computed by "inidissip".

Extracted procedure "start_inter_3d" from module "startdyn", to its
own module.

In "inidissip", unrolled loop on "ii". I find it clearer now.

Moved variables "matriceun", "matriceus", "matricevn", "matricevs",
"matrinvn" and "matrinvs" from module "parafilt" to module
"inifilr_m". Moved variables "jfiltnu", "jfiltnv", "jfiltsu",
"jfiltsv" from module "coefils" to module "inifilr_m".


Revision 53 - (view) (annotate) - [select for diffs]
Modified Fri Oct 7 13:11:58 2011 UTC (12 years, 6 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 71771 byte(s)
Diff to previous 52


Revision 52 - (view) (annotate) - [select for diffs]
Modified Fri Sep 23 12:28:01 2011 UTC (12 years, 7 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 71804 byte(s)
Diff to previous 51
Split "conflx.f" into single-procedure files in directory "Conflx".

Split "cv_routines.f" into single-procedure files in directory
"CV_routines". Made module "cvparam" from included file
"cvparam.h". No included file other than "netcdf.inc" left in LMDZE.


Revision 51 - (view) (annotate) - [select for diffs]
Modified Tue Sep 20 09:14:34 2011 UTC (12 years, 7 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 72007 byte(s)
Diff to previous 49
Split "getincom.f90" into "getincom.f90" and "getincom2.f90". Split
"nuage.f" into "nuage.f90", "diagcld1.f90" and "diagcld2.f90". Created
module "chem" from included file "chem.h". Moved "YOEGWD.f90" to
directory "Orography".

In "physiq", for evaporation of water, "zlsdcp" was equal to
"zlvdc". Removed useless variables.


Revision 49 - (view) (annotate) - [select for diffs]
Modified Wed Aug 24 11:43:14 2011 UTC (12 years, 8 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 72229 byte(s)
Diff to previous 47
LMDZE now uses library Jumble.

Removed all calls to "flinget". Replaced calls to "flinget",
"flininfo", "flinopen_nozoom" by calls to NetCDF95 and Jumble.

Split file "cv_driver.f" into "cv_driver.f90", "cv_flag.f90" and
"cv_thermo.f90".

Bug fix: "QANCIEN" was read twice in "phyeytat0".

In "physiq", initialization of "d_t", "d_u", "d_v" was useless.


Revision 47 - (view) (annotate) - [select for diffs]
Modified Fri Jul 1 15:00:48 2011 UTC (12 years, 9 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 72649 byte(s)
Diff to previous 40
Split "thermcell.f" and "cv3_routines.f".
Removed copies of files that are now in "L_util".
Moved "mva9" and "diagetpq" to their own files.
Unified variable names across procedures.


Revision 40 - (view) (annotate) - [select for diffs]
Modified Tue Feb 22 13:49:36 2011 UTC (13 years, 2 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 75122 byte(s)
Diff to previous 38
"alpha" useless, always 0, in "exner_hyb".


Revision 38 - (view) (annotate) - [select for diffs]
Modified Thu Jan 6 17:52:19 2011 UTC (13 years, 3 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 75225 byte(s)
Diff to previous 35
Extracted ASCII art from "inigeom" into a separate text file in the
documentation.

"test_disvert" now creates a separate file for layer thicknesses.

Moved variables from module "yomcst" to module "suphec_m" because this
is where those variables are defined. Kept in "yomcst" only parameters
of Earth orbit. Gave the attribute "parameter" to some variables of
module "suphec_m".

Variables of module "yoethf" were defined in procedure "suphec". Moved
these definitions to a new procedure "yoethf" in module "yoethf_m".


Revision 35 - (view) (annotate) - [select for diffs]
Modified Tue Jun 8 15:37:21 2010 UTC (13 years, 10 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 75209 byte(s)
Diff to previous 34
Created intermediary variable for meridional wind in "calfis". Removed
unused variables.

Removed argument "firstcal" of "physiq", made it a local
variable. Removed unused argument "v" of "phytrac".


Revision 34 - (view) (annotate) - [select for diffs]
Modified Wed Jun 2 11:01:12 2010 UTC (13 years, 10 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 75217 byte(s)
Diff to previous 32
Split "ini_hist.f90" into single-procedure files.

In "calfis" and "physiq", removed dummy argument "nq" since "nq" must
be equal to "nqmx".

In "calfis", renamed dummy argument "pq" to "q", same name as actual
argument in "leapfrog". Renamed local variable "zqfi" to "qx", same
name as dummy argument in "physiq".

Removed arguments "itop_con" and "ibas_con" of "phytrac", which were
not used.


Revision 32 - (view) (annotate) - [select for diffs]
Modified Tue Apr 6 17:52:58 2010 UTC (14 years ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 75235 byte(s)
Diff to previous 31
Split "stringop.f90" into single-procedure files. Gathered files in directory
"IOIPSL/Stringop".

Split "flincom.f90" into "flincom.f90" and "flinget.f90". Removed
unused procedures from module "flincom". Removed unused argument
"filename" of procedure "flinopen_nozoom".

Removed unused files.

Split "grid_change.f90" into "grid_change.f90" and
"gr_phy_write_3d.f90".

Removed unused procedures from modules "calendar", "ioipslmpp",
"grid_atob", "gath_cpl" and "getincom". Removed unused procedures in
files "ppm3d.f" and "thermcell.f".

Split "mathelp.f90" into "mathelp.f90" and "mathop.f90".

Removed unused variable "dpres" of module "comvert".

Use argument "itau" instead of local variables "iadvtr" and "first" to
control algorithm in procedure "fluxstokenc".

Removed unused arguments of procedure "integrd".

Removed useless computations at the end of procedure "leapfrog".

Merged common block "matrfil" into module "parafilt".


Revision 31 - (view) (annotate) - [select for diffs]
Modified Thu Apr 1 14:59:19 2010 UTC (14 years ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 75190 byte(s)
Diff to previous 30
Split "vlsplt.f" in single-procedure files. Gathered the files in
directory "dyn3d/Vlsplt".

Defined "pbarum(:, 1, :)" and "pbarum(:, jjm + 1, :)" in procedure
"groupe".


Revision 30 - (view) (annotate) - [select for diffs]
Modified Thu Apr 1 09:07:28 2010 UTC (14 years ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 75385 byte(s)
Diff to previous 23
Imported Source files of the external library "IOIPSL_Lionel" into
"libf/IOIPSL".

Split "cray.f90" into "scopy.f90" and "ssum.f90".

Rewrote "leapfrog" in order to have a clearer algorithmic structure.


Revision 23 - (view) (annotate) - [select for diffs]
Modified Mon Dec 14 15:25:16 2009 UTC (14 years, 4 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 75335 byte(s)
Diff to previous 22
Split "orografi.f": one file for each procedure. Put the created files
in new directory "Orography".

Removed argument "vcov" of procedure "sortvarc". Removed arguments
"itau" and "time" of procedure "caldyn0". Removed arguments "itau",
"time" and "vcov" of procedure "sortvarc0".

Removed argument "time" of procedure "dynredem1". Removed NetCDF
variable "temps" in files "start.nc" and "restart.nc", because its
value is always 0.

Removed argument "nq" of procedures "iniadvtrac" and "leapfrog". The
number of "tracers read in "traceur.def" must now be equal to "nqmx",
or "nqmx" must equal 4 if there is no file "traceur.def". Replaced
variable "nq" by constant "nqmx" in "leapfrog".

NetCDF variable for ozone field in "coefoz.nc" must now be called
"tro3" instead of "r".

Fixed bug in "zenang".


Revision 22 - (view) (annotate) - [select for diffs]
Modified Fri Jul 31 15:18:47 2009 UTC (14 years, 8 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 76626 byte(s)
Diff to previous 20
Superficial modifications

Revision 20 - (view) (annotate) - [select for diffs]
Modified Wed Oct 15 16:19:57 2008 UTC (15 years, 6 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 76646 byte(s)
Diff to previous 18
Deleted argument "presnivs" of "physiq", "ini_histhf", "ini_histhf3d",
"ini_histday", "ini_histins", "ini_histrac", "phytrac". Access it from
"comvert" instead.

Replaced calls to NetCDF Fortran 77 interface by calls to Fortran 90
interface or to NetCDF95.

Procedure "gr_phy_write_3d" now works with a variable of arbitrary
size in the second dimension.

Annotated use statements with "only" clause.

Replaced calls to NetCDF interface version 2 by calls to Fortran 90
interface in "guide.f90" and "read_reanalyse.f".

In "write_histrac", replaced calls to "gr_fi_ecrit" by calls to
"gr_phy_write_2d" and "gr_phy_write_3d".


Revision 18 - (view) (annotate) - [select for diffs]
Modified Thu Aug 7 12:29:13 2008 UTC (15 years, 8 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 76785 byte(s)
Diff to previous 17
In module "regr_pr", rewrote scanning of horizontal positions as a
single set of loops, using a mask.

Added some "intent" attributes.

In "dynredem0", replaced calls to Fortran 77 interface of NetCDF by
calls to NetCDF95. Removed calls to "nf_redef", regrouped all writing
operations. In "dynredem1", replaced some calls to Fortran 77
interface of NetCDF by calls to Fortran 90 interface.

Renamed variable "nqmax" to "nq_phys".

In "physiq", if "nq >= 5" then "wo" is computed from the
parameterization of "Cariolle".


Revision 17 - (view) (annotate) - [select for diffs]
Modified Tue Aug 5 13:31:32 2008 UTC (15 years, 8 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 76848 byte(s)
Diff to previous 16
Created rule for "compare_sampl_*" files in
"Documentation/Manuel_LMDZE.texfol/Graphiques/GNUmakefile".

Extracted "qcheck", "radiornpb", "minmaxqfi" into separate files.

Read pressure coordinate of ozone coefficients once per run instead of
every day.

Added some "intent" attributes.

Added argument "nq" to "ini_histday". Replaced calls to "gr_fi_ecrit"
by calls to "gr_phy_write_2d". "Sigma_O3_Royer" is written to
"histday.nc" only if "nq >= 4". Moved "ini_histrac" to module
"ini_hist".

Compute "zmasse" in "physiq", pass it to "phytrac".

Removed computations of "pftsol*" and "ppsrf*" in "phytrac".

Do not use variable "rg" from module "YOMCST" in "TLIFT".


Revision 16 - (view) (annotate) - [select for diffs]
Modified Fri Aug 1 15:37:00 2008 UTC (15 years, 8 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 78217 byte(s)
Diff to previous 15


Revision 15 - (view) (annotate) - [select for diffs]
Modified Fri Aug 1 15:24:12 2008 UTC (15 years, 8 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 78386 byte(s)
Diff to previous 13
-- Minor modification of input/output:

Added variable "Sigma_O3_Royer" to "histday.nc". "ecrit_day" is not
modified in "physiq". Removed variables "pyu1", "pyv1", "ftsol1",
"ftsol2", "ftsol3", "ftsol4", "psrf1", "psrf2", "psrf3", "psrf4"
"mfu", "mfd", "en_u", "en_d", "de_d", "de_u", "coefh" from
"histrac.nc".

Variable "raz_date" of module "conf_gcm_m" has logical type instead of
integer type.

-- Should not change any result at run time:

Modified calls to "IOIPSL_Lionel" procedures because the interfaces of
these procedures have been simplified.

Changed name of variable in module "start_init_orog_m": "masque" to
"mask".

Created a module containing procedure "phyredem".

Removed arguments "punjours", "pdayref" and "ptimestep" of procedure
"iniphysiq".

Renamed procedure "gr_phy_write" to "gr_phy_write_2d". Created
procedure "gr_phy_write_3d".

Removed procedures "ini_undefstd", "moy_undefSTD", "calcul_STDlev",
"calcul_divers".


Revision 13 - (view) (annotate) - [select for diffs]
Modified Fri Jul 25 19:59:34 2008 UTC (15 years, 9 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 91675 byte(s)
Diff to previous 12
-- Minor change of behaviour:

"etat0" does not compute "rugsrel" nor "radpas". Deleted arguments
"radpas" and "rugsrel" of "phyredem". Deleted argument "rugsrel" of
"phyetat0". "startphy.nc" does not contain the variable "RUGSREL". In
"physiq", "rugoro" is set to 0 if not "ok_orodr". The whole program
"etat0_lim" does not use "clesphys2".

-- Minor modification of input/output:

Created subroutine "read_clesphys2". Variables of "clesphys2" are read
in "read_clesphys2" instead of "conf_gcm". "printflag" does not print
variables of "clesphys2".

-- Should not change any result at run time:

References to module "numer_rec" instead of individual modules of
"Numer_rec_Lionel".

Deleted argument "clesphy0" of "calfis", "physiq", "conf_gcm",
"leapfrog", "phyetat0". Deleted variable "clesphy0" in
"gcm". "phyetat0" does not modify variables of "clesphys2".

The program unit "gcm" does not modify "itau_phy".

Added some "intent" attributes.

"regr11_lint" does not call "polint".


Revision 12 - (view) (annotate) - [select for diffs]
Modified Mon Jul 21 16:05:07 2008 UTC (15 years, 9 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 92356 byte(s)
Diff to previous 10
-- Minor modification of input/output:

Created procedure "read_logic". Variables of module "logic" are read
by "read_logic" instead of "conf_gcm". Variable "offline" of module
"conf_gcm" is read from namelist instead of "*.def".

Deleted arguments "dtime", "co2_ppm_etat0", "solaire_etat0",
"tabcntr0" and local variables "radpas", "tab_cntrl" of
"phyetat0". "phyetat0" does not read "controle" in "startphy.nc" any
longer. "phyetat0" now reads global attribute "itau_phy" from
"startphy.nc". "phyredem" does not create variable "controle" in
"startphy.nc" any longer. "phyredem" now writes global attribute
"itau_phy" of "startphy.nc". Deleted argument "tabcntr0" of
"printflag". Removed diagnostic messages written by "printflag" for
comparison of the variable "controle" of "startphy.nc" and the
variables read from "*.def" or namelist input.

-- Removing unwanted functionality:

Removed variable "lunout" from module "iniprint", replaced everywhere
by standard output.

Removed case "ocean == 'couple'" in "clmain", "interfsurf_hq" and
"physiq". Removed procedure "interfoce_cpl".

-- Should not change anything at run time:

Automated creation of graphs in documentation. More documentation on
input files.

Converted Fortran files to free format: "phyredem.f90", "printflag.f90".

Split module "clesphy" into "clesphys" and "clesphys2".

Removed variables "conser", "leapf", "forward", "apphys", "apdiss" and
"statcl" from module "logic". Added arguments "conser" to "advect",
"leapf" to "integrd". Added local variables "forward", "leapf",
"apphys", "conser", "apdiss" in "leapfrog".

Added intent attributes.

Deleted arguments "dtime" of "phyredem", "pdtime" of "flxdtdq", "sh"
of "phytrac", "dt" of "yamada".

Deleted local variables "dtime", "co2_ppm_etat0", "solaire_etat0",
"length", "tabcntr0" in "physiq". Replaced all references to "dtime"
by references to "pdtphys".


Revision 10 - (view) (annotate) - [select for diffs]
Modified Fri Apr 18 14:45:53 2008 UTC (16 years ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 93286 byte(s)
Diff to previous 7
Added NetCDF directory "/home/guez/include" in "g95.mk" and
"nag_tools.mk".

Added some "intent" attributes in "PVtheta", "advtrac", "caladvtrac",
"calfis", "diagedyn", "dissip", "vlspltqs", "aeropt", "ajsec",
"calltherm", "clmain", "cltrac", "cltracrn", "concvl", "conema3",
"conflx", "fisrtilp", "newmicro", "nuage", "diagcld1", "diagcld2",
"drag_noro", "lift_noro", "SUGWD", "physiq", "phytrac", "radlwsw", "thermcell".

Removed the case "ierr == 0" in "abort_gcm"; moved call to "histclo"
and messages for end of run from "abort_gcm" to "gcm"; replaced call
to "abort_gcm" in "leapfrog" by exit from outer loop.

In "calfis": removed argument "pp" and variable "unskap"; changed
"pksurcp" from scalar to rank 2; use "pressure_var"; rewrote
computation of "zplev", "zplay", "ztfi", "pcvgt" using "dyn_phy";
added computation of "pls".

Removed unused variable in "dynredem0".

In "exner_hyb": changed "dellta" from scalar to rank 1; replaced call
to "ssum" by call to "sum"; removed variables "xpn" and "xps";
replaced some loops by array expressions.

In "leapfrog": use "pressure_var"; deleted variables "p", "longcles".

Converted common blocks "YOECUMF", "YOEGWD" to modules.

Removed argument "pplay" in "cvltr", "diagetpq", "nflxtr".

Created module "raddimlw" from include file "raddimlw.h".

Corrected call to "new_unit" in "test_disvert".


Revision 7 - (view) (annotate) - [select for diffs]
Modified Mon Mar 31 12:24:17 2008 UTC (16 years ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 93342 byte(s)
Diff to previous 6
This revision is not in working order. Pending some moving of files.

Important changes. In the program "etat0_lim": ozone coefficients from
Mobidic are regridded in time instead of pressure ; consequences in
"etat0". In the program "gcm", ozone coefficients from Mobidic are
read once per day only for the current day and regridded in pressure ;
consequences in "o3_chem_m", "regr_pr_coefoz", "phytrac" and
"regr_pr_comb_coefoz_m".

NetCDF95 is a library and does not export NetCDF.

New variables "nag_gl_options", "nag_fcalls_options" and
"nag_cross_options" in "nag_tools.mk".

"check_coefoz.jnl" rewritten entirely for new version of
"coefoz_LMDZ.nc".

Target "obj_etat0_lim" moved from "GNUmakefile" to "nag_rules.mk".

Added some "intent" attributes in "calfis", "clmain", "clqh",
"cltrac", "cltracrn", "cvltr", "ini_undefSTD", "moy_undefSTD",
"nflxtr", "phystokenc", "phytrac", "readsulfate", "readsulfate_preind"
and "undefSTD".

In "dynetat0", "dynredem0" and "gcm", "phis" has rank 2 instead of
1. "phis" has assumed shape in "dynredem0".

Added module containing "dynredem0". Changed some calls with NetCDF
Fortran 77 interface to calls with NetCDF95 interface.

Replaced calls to "ssum" by calls to "sum" in "inigeom".

In "make.sh", new option "-c" to change compiler.

In "aaam_bud", argument "rjour" deleted.

In "physiq": renamed some variables; deleted variable "xjour".

In "phytrac": renamed some variables; new argument "lmt_pas".


Revision 6 - (view) (annotate) - [select for diffs]
Modified Tue Mar 4 14:00:42 2008 UTC (16 years, 1 month ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 93385 byte(s)
Diff to previous 3
Removed test on coefoz_LMDZ in gcm.sh.
Added test on nbtr in ini_histhf3d and write_histhf3d.
Added test on nqmax in phytrac.

Revision 3 - (view) (annotate) - [select for diffs]
Added Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
Original Path: trunk/libf/phylmd/physiq.f90
File length: 93321 byte(s)
Initial import

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.21