/[lmdze]/trunk/dyn3d/leapfrog.f
ViewVC logotype

Log of /trunk/dyn3d/leapfrog.f

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 266 - (view) (annotate) - [select for diffs]
Modified Thu Apr 19 17:54:55 2018 UTC (6 years ago) by guez
File length: 8130 byte(s)
Diff to previous 265
Define macros of the preprocessor CPP_IIM, CPP_JJM, CPP_LLM so we can
control the resolution from the compilation command, and automate
compilation for several resolutions.

In module yoethf_m, transform variables into named constants. So we do
not need procedure yoethf any longer.

Bug fix in program test_inter_barxy, missing calls to fyhyp and fxhyp,
and definition of rlatu.

Remove variable iecri of module conf_gcm_m. The files dyn_hist*.nc are
written every time step. We are simplifying the output system, pending
replacement by a whole new system.

Modify possible value of vert_sampling from "param" to
"strato_custom", following LMDZ. Default values of corresponding
namelist variables are now the values used for LMDZ CMIP6.


Revision 265 - (view) (annotate) - [select for diffs]
Modified Tue Mar 20 09:35:59 2018 UTC (6 years, 1 month ago) by guez
File length: 8249 byte(s)
Diff to previous 263
Rename module dimens_m to dimensions.

Revision 263 - (view) (annotate) - [select for diffs]
Modified Wed Mar 7 14:41:46 2018 UTC (6 years, 1 month ago) by guez
File length: 8247 byte(s)
Diff to previous 262
Allow output of dynamics at frequency greater than one per day. Change
meaning of iecri.

Remove arguments tstep, nq of procedure inithist: use directly
module variables dtvr and nqmx instead.

Change meaning of last dummy argument of writehist. Simpler and
clearer, because time suggested a dimensional quantity.


Revision 262 - (view) (annotate) - [select for diffs]
Modified Wed Mar 7 13:46:18 2018 UTC (6 years, 1 month ago) by guez
File length: 8217 byte(s)
Diff to previous 261
Remove output file dynhist_ave.nc. As in physics, keep only one output
file for instantaneous output, pending replacement by a more powerful
solution like XIOS.


Revision 261 - (view) (annotate) - [select for diffs]
Modified Wed Mar 7 13:33:15 2018 UTC (6 years, 1 month ago) by guez
File length: 8409 byte(s)
Diff to previous 260
Make procedures writehist and writedynav as identical as
possible. Remove output of phis in writedynav: already in histins and
constant. Add output of temp and q in writehist.

Remove unused variable ndm of module dimens_m. Remove unused variables
kftd, mvar, jcfil and jcfllm of module paramet_m.


Revision 260 - (view) (annotate) - [select for diffs]
Modified Tue Mar 6 17:18:33 2018 UTC (6 years, 1 month ago) by guez
File length: 8408 byte(s)
Diff to previous 254
In procedures leapfrog, caldyn and integrd, in revision 47, I had
renamed du to dudyn because it was the name used in physiq. But in
revision 90, I removed argument dudyn of physiq. So clearer now to go
back to the name du, analoguous to dv (as in LMDZ).


Revision 254 - (view) (annotate) - [select for diffs]
Modified Mon Feb 5 10:39:38 2018 UTC (6 years, 2 months ago) by guez
File length: 8423 byte(s)
Diff to previous 252
Move Sources/* to root directory.

Revision 252 - (view) (annotate) - [select for diffs]
Modified Mon Jan 22 15:02:56 2018 UTC (6 years, 2 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8423 byte(s)
Diff to previous 224
*trmb[1-3] were just filled with 0. Remove these variables and output.


Revision 224 - (view) (annotate) - [select for diffs]
Modified Fri Apr 28 13:40:59 2017 UTC (6 years, 11 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8428 byte(s)
Diff to previous 212
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 212 - (view) (annotate) - [select for diffs]
Modified Thu Jan 12 12:31:31 2017 UTC (7 years, 3 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8637 byte(s)
Diff to previous 208
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 208 - (view) (annotate) - [select for diffs]
Modified Wed Dec 7 16:44:53 2016 UTC (7 years, 4 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8633 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
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8638 byte(s)
Diff to previous 178
New philosophy on compiler options.

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


Revision 178 - (view) (annotate) - [select for diffs]
Modified Fri Mar 11 18:47:26 2016 UTC (8 years, 1 month ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8605 byte(s)
Diff to previous 162
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 162 - (view) (annotate) - [select for diffs]
Modified Fri Jul 24 16:54:30 2015 UTC (8 years, 8 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8613 byte(s)
Diff to previous 161
Variable pls of module pressure_var was only modified by calfis but I
could not move it to module calfis_m because it was used by a
procedure called by calfis (it would have been a cyclic
dependency). In the same way, variable p3d of module pressure_var was
only modified by leapfrog but I could not move it to module
leapfrog_m. So removed module pressure_var. p3d becomes a local
variable of leapfrog and an argument of calfis. Use paprs and play in
regr_pr_int and regr_pr_av (following LMDZ). The idea in regr_pr_int
and regr_pr_av is to spread and pack before the regridding instead of
packing afterward. The cost in memory should only be a two-dimensional
temporary array created by spread. The cost in clarity is only the
transiting of paprs and pplay through regr_pr_comb_coefoz, but this is
more than compensated by removing the side effect on module variables.


Revision 161 - (view) (annotate) - [select for diffs]
Modified Fri Jul 24 14:27:59 2015 UTC (8 years, 8 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8467 byte(s)
Diff to previous 157
rlon[uv] and rlat[uv] are already in start.nc.

Just encapsulated covcont in a module.

finvmaold was not used in leapfrog. Downgraded it from dummy argument
to local variable of SUBROUTINE integrd.

Simplified handling of mass in integrd: down from five 3-dimensional
arrays (masse, massem1, finvmaold, massescr and finvmasse) to three
(masse, massem1, finvmaold).


Revision 157 - (view) (annotate) - [select for diffs]
Modified Mon Jul 20 16:01:49 2015 UTC (8 years, 9 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8618 byte(s)
Diff to previous 154
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 154 - (view) (annotate) - [select for diffs]
Modified Tue Jul 7 17:49:23 2015 UTC (8 years, 9 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8643 byte(s)
Diff to previous 138
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 138 - (view) (annotate) - [select for diffs]
Modified Fri May 22 23:13:19 2015 UTC (8 years, 11 months ago) by guez
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8626 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
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8629 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
Original Path: trunk/Sources/dyn3d/leapfrog.f
File length: 8380 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, 1 month ago) by guez
File length: 8380 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
File length: 8534 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
File length: 8496 byte(s)
Diff to previous 115
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 115 - (view) (annotate) - [select for diffs]
Modified Fri Sep 19 17:36:20 2014 UTC (9 years, 7 months ago) by guez
File length: 8704 byte(s)
Diff to previous 108
Extracted code from tau2alpha for first call into new procedure
init_tau2alpha. dxdys, dxdyu, dxdyv are now local variables if guide
computed by init_tau2alpha. This allows us to remove terrible argument
type of tau2alpha: we just give to tau2alpha the right dxdy and
rlat.

In module conf_guide_m, changed default values of tau_min_*, because
0.02 is too small for the default daystep = 240, iperiod = 5. Changed
default values of guide_[uv] to false. Moved variable ok_guide from
conf_gcm_m to conf_guide_m, ok_guide is no longer an input parameter,
it is computed from guide_*. Had then to move test on ok_guide and
day_step from conf_gcm_m to conf_guide_m. Added checks on input
nudging parameters in procedure conf_guide. Upgraded variable factt to
module conf_guide_m in order to check nudging parameters. Bug fix:
variable guide_q was not in namelist conf_guide_nml.

Removed unused variables aire_min, aire_max of MODULE guide_m.

Moved the call to conf_guide from guide to gcm. This was needed to
define ok_guide before getting into guide (since ok_guide is no longer
in conf_gcm_m). Moved test on grossismx and grossismy from tau2alpha
to guide. It is clearer now that only tau_max is used for a regular
grid, and we do not have to repeat this test in each call to
tau2alpha. In guide, we only call writefield when alpha is not a
constant.


Revision 108 - (view) (annotate) - [select for diffs]
Modified Tue Sep 16 14:00:41 2014 UTC (9 years, 7 months ago) by guez
File length: 8677 byte(s)
Diff to previous 107
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 107 - (view) (annotate) - [select for diffs]
Modified Thu Sep 11 15:09:15 2014 UTC (9 years, 7 months ago) by guez
File length: 8722 byte(s)
Diff to previous 103
Imported procedure grilles_gcm_sub from LMDZ. Had then to transform
local variable phis of etat to argument.

Replaced calls to lnblnk by calls to trim.

Removed arguments nlat, klevel and griscal of filtreg. Replaced
integer arguments ifiltre and iaire by logical arguments direct and
intensive.

Changed default values of guide_t and guide_q to false.


Revision 103 - (view) (annotate) - [select for diffs]
Modified Fri Aug 29 13:00:05 2014 UTC (9 years, 7 months ago) by guez
File length: 8713 byte(s)
Diff to previous 102
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 102 - (view) (annotate) - [select for diffs]
Modified Tue Jul 15 13:43:24 2014 UTC (9 years, 9 months ago) by guez
File length: 8721 byte(s)
Diff to previous 97
Removed unused file "condsurf.f" (only useful for ocean slab).

day_step must be a multiple of 4 * iperiod if ok_guide.

Changed type of variable online of module conf_guide_m from integer to
logical. Value -1 was not useful, equivalent to not ok_guide.

Removed argument masse of procedure guide. masse is kept consistent
with ps throughout the run. masse need only be computed again just
after ps has been modified. In prodecure guide, replaced use of
remanent variable first by test on itau. Replaced test on variable
"test" by test on integer values.

In leapfrog, for the call to guide, replaced test on real values by
test on integer values.

Bug fix in tau2alpha: computation of dxdyv (following LMDZ revision 1040).

In procedure wrgrads, replaced badly chosen argument name "if" by i_f.


Revision 97 - (view) (annotate) - [select for diffs]
Modified Fri Apr 25 14:58:31 2014 UTC (9 years, 11 months ago) by guez
File length: 8731 byte(s)
Diff to previous 96
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 96 - (view) (annotate) - [select for diffs]
Modified Fri Apr 4 11:30:34 2014 UTC (10 years ago) by guez
File length: 8731 byte(s)
Diff to previous 95
In procedure leapfrog, computation of p3d and a call to exner_hyb were
made before and after the call to calfis. This was a repetition of the
same calculation since calfis does not change the surface
pressure. Kept only one calculation, and moved it before the test for
the call to calfis.


Revision 95 - (view) (annotate) - [select for diffs]
Modified Wed Apr 2 12:59:54 2014 UTC (10 years ago) by guez
File length: 8843 byte(s)
Diff to previous 91
Removed argument ps of calfis (was not done in revision 91, error in
log message).

Removed optional actual argument pkf of the call to exner_hyb before
calfis, in leapfrog. pkf was not used before the next call to
exner_hyb.


Revision 91 - (view) (annotate) - [select for diffs]
Modified Wed Mar 26 17:18:58 2014 UTC (10 years ago) by guez
File length: 8852 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
File length: 8940 byte(s)
Diff to previous 89
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 89 - (view) (annotate) - [select for diffs]
Modified Tue Mar 11 16:03:19 2014 UTC (10 years, 1 month ago) by guez
File length: 8940 byte(s)
Diff to previous 88
Removed call to pvtheta in calfis because the result pvteta is not
used (not used either in LMDZ).

Removed unused argument dv of calfis. (Corresponding argument in LMDZ
is pdvcov and computations from pdvcov are made in calfis but not
used.)

Removed procedures that were not called.


Revision 88 - (view) (annotate) - [select for diffs]
Modified Tue Mar 11 15:09:02 2014 UTC (10 years, 1 month ago) by guez
File length: 8944 byte(s)
Diff to previous 86
Removed useless argument mode of subroutine read_reanalyse.


Revision 86 - (view) (annotate) - [select for diffs]
Modified Thu Mar 6 17:51:03 2014 UTC (10 years, 1 month ago) by guez
File length: 8949 byte(s)
Diff to previous 82
In leapfrog, removed computation of ps at the poles. dynetat0 checks
that there is a single value of ps at each pole and ps is only
modified in the program gcm by integrd and addfi. Both integrd and
addfi ensure there is a single value of ps at each pole.

This modification changes the results of gcm.


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

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/dyn3d/leapfrog.f90
File length: 9113 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/dyn3d/leapfrog.f90
File length: 9107 byte(s)
Diff to previous 71
Moved everything out of libf.

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/dyn3d/leapfrog.f90
File length: 9107 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, 9 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9267 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/dyn3d/leapfrog.f90
File length: 9355 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/dyn3d/leapfrog.f90
File length: 9268 byte(s)
Diff to previous 67
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 67 - (view) (annotate) - [select for diffs]
Modified Tue Oct 2 15:50:56 2012 UTC (11 years, 6 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9047 byte(s)
Diff to previous 66
Cleaning.

Revision 66 - (view) (annotate) - [select for diffs]
Modified Thu Sep 20 13:00:41 2012 UTC (11 years, 7 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9023 byte(s)
Diff to previous 65
Changed name of module "comvert" to "disvert_m". Changed constant
1. to 0.3 in vertical sampling "strato".


Revision 65 - (view) (annotate) - [select for diffs]
Modified Thu Sep 20 09:57:03 2012 UTC (11 years, 7 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9021 byte(s)
Diff to previous 64
Removed unused procedure "divgrad".

In procedure "dissip", save memory by using intermediary arrays "gdx"
and "gdy" several times instead of additional array "grx" and "gry".

In procedure "inidissip", write "dtdiss * teta*" instead of "teta*".

In "comvert", change name of s_sampling from "LMD5" to "tropo" and
from "strato2" to "strato".


Revision 64 - (view) (annotate) - [select for diffs]
Modified Wed Aug 29 14:47:17 2012 UTC (11 years, 7 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9024 byte(s)
Diff to previous 62
Removed variable lstardis in module comdissnew and procedures gradiv
and nxgrarot. lstardir had to be true. gradiv and nxgrarot were called
if lstardis was false. Removed argument iter of procedure
filtreg. iter had to be 1. gradiv and nxgrarot called filtreg with
iter == 2.

Moved procedure flxsetup into module yoecumf. Module yoecumf is only
used in program units of directory Conflx, moved it there.


Revision 62 - (view) (annotate) - [select for diffs]
Modified Thu Jul 26 14:37:37 2012 UTC (11 years, 8 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9027 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/dyn3d/leapfrog.f90
File length: 9031 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/dyn3d/leapfrog.f90
File length: 9030 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/dyn3d/leapfrog.f90
File length: 9064 byte(s)
Diff to previous 55
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 55 - (view) (annotate) - [select for diffs]
Modified Mon Dec 12 13:25:01 2011 UTC (12 years, 4 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9353 byte(s)
Diff to previous 47
-- In procedure "bilan_dyn", replaced average of "zvq" by integral of
"zvq", following a comment of Francis Codron :

Le calcul actuel donne des unités peu pratiques : transports de
chaleur en K m / s par exemple. C'est bien pour les sorties à 2
dimensions, latitude et pression, car alors le transport ne dépend pas
de l'espacement des niveaux, mieux pour comparer ou tracer en latitude
et pression. Par contre, quand on somme sur la verticale, on
préfèrerait avoir des transports d'énergie en watts, ou au moins an K
kg / s (à multiplier par "Cp" ou "L"). On doit pouvoir recalculer le
transport intégré à partir des fichiers de sortie, mais c'est embêtant
(calcul de "cv").

-- Gathered files in directory Dissipation.


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/dyn3d/leapfrog.f90
File length: 8959 byte(s)
Diff to previous 46
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 46 - (view) (annotate) - [select for diffs]
Modified Mon May 16 14:52:30 2011 UTC (12 years, 11 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8851 byte(s)
Diff to previous 45
Removed procedure "psextbar". "psextbar" was called but the result of
the call was not used.


Revision 45 - (view) (annotate) - [select for diffs]
Modified Wed Apr 27 13:00:12 2011 UTC (12 years, 11 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8851 byte(s)
Diff to previous 44
Split file "histwrite.f90" into "histwrite.f90", "histwrite_real.f90"
and "histvar_seq.f90".

Extracted documentation from "psextbar.f" into "psextbar.txt" (out of SVN).


Revision 44 - (view) (annotate) - [select for diffs]
Modified Wed Apr 13 12:29:18 2011 UTC (13 years ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8844 byte(s)
Diff to previous 43
Removed argument "pdteta" of "calfis", because it was not used.

Created module "conf_guide_m", containing procedure
"conf_guide". Moved module variables from "guide_m" to "conf_guide_m".

In module "getparam", removed "ini_getparam" and "fin_getparam" from
generic interface "getpar".

Created module variables in "tau2alpha_m" to replace common "comdxdy".


Revision 43 - (view) (annotate) - [select for diffs]
Modified Fri Apr 8 12:43:31 2011 UTC (13 years ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8833 byte(s)
Diff to previous 41
"start_init_phys" is now called directly by "etat0" instead of through
"start_init_dyn". "qsol_2d" is no longer a variable of module
"start_init_phys_m", it is an argument of
"start_init_phys". "start_init_dyn" now receives "tsol_2d" from
"etat0".

Split file "vlspltqs.f" into "vlspltqs.f90", "vlxqs.f90" and
""vlyqs.f90".

In "start_init_orog", replaced calls to "flin*" by calls to NetCDF95.


Revision 41 - (view) (annotate) - [select for diffs]
Modified Tue Feb 22 15:09:57 2011 UTC (13 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8765 byte(s)
Diff to previous 40
Moved "Test_ozonecm" out of SVN.

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


Revision 39 - (view) (annotate) - [select for diffs]
Modified Tue Jan 25 15:11:05 2011 UTC (13 years, 2 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8582 byte(s)
Diff to previous 37
"pi" comes from "nr_util". Removed subroutine "initialize" in module
"comconst".

Copied the content of "fxy_sin.h" into "fxysinus", instead of getting
it from an "include" line. Removed file "fxy_sin.h".

"ps" has rank 2 in "gcm" and "dynetat0".

Assumed-shape for argument "q" of "integrd".


Revision 37 - (view) (annotate) - [select for diffs]
Modified Tue Dec 21 15:45:48 2010 UTC (13 years, 4 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8562 byte(s)
Diff to previous 36
Inlined procedure "pression".

Split "guide.f90" into "guide.f90" and "tau2alpha.f90". Split
"read_reanalyse.f" into single-procedure files in directory
"Read_reanalyse".

Useless copy of variables in "iniphysiq". Directly define module
variables in "gcm" and remove procedure "iniphysiq".

Added "pressure-altitude" in "test_disvert".


Revision 36 - (view) (annotate) - [select for diffs]
Modified Thu Dec 2 17:11:04 2010 UTC (13 years, 4 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8494 byte(s)
Diff to previous 34
Now using the library "NR_util".


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/dyn3d/leapfrog.f90
File length: 8496 byte(s)
Diff to previous 33
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 33 - (view) (annotate) - [select for diffs]
Modified Fri Apr 9 10:56:14 2010 UTC (14 years ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8502 byte(s)
Diff to previous 32
Test namelist input in procedure "conf_gcm" rather than program unit
"gcm".

Compute "time" in procedure "sortvarc" rather than "leapfrog".

Rewrote "leapfrog" with a single loop on "itau" instead of two nested
loops on number of periodic matsuno-leapfrog cycles and leapfrog
iterations.


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/dyn3d/leapfrog.f90
File length: 10090 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/dyn3d/leapfrog.f90
File length: 10501 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/dyn3d/leapfrog.f90
File length: 10792 byte(s)
Diff to previous 29
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 29 - (view) (annotate) - [select for diffs]
Modified Tue Mar 30 10:44:42 2010 UTC (14 years ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 8909 byte(s)
Diff to previous 28
In "leapfrog", transformed some arrays with a single dimension for horizontal
position into arrays with two horizontal dimensions. Simplified the
computation of potential temperature and surface pressure at the
poles.


Revision 28 - (view) (annotate) - [select for diffs]
Modified Fri Mar 26 18:33:04 2010 UTC (14 years ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9181 byte(s)
Diff to previous 27
Removed unused "diagedyn.f" and "undefSTD.f".

In "etat0", the variable "dt" of module "temps" was defined from
"landicered.nc", which was meaningless and useless. Replaced "dt" by a
local trash variable.

Removed variable "dt" from module "temps" and created instead a local
variable of "leapfrog" and an argument of "integrd".


Revision 27 - (view) (annotate) - [select for diffs]
Modified Thu Mar 25 14:29:07 2010 UTC (14 years ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 9168 byte(s)
Diff to previous 26
"dyn3d" and "filtrez" do not contain any included file so make rules
have been updated.

"comdissip.f90" was useless, removed it.

"dynredem0" wrote undefined value in "controle(31)", that was
overwritten by "dynredem1". Now "dynredem0" just writes 0 to
"controle(31)".

Removed arguments of "inidissip". "inidissip" now accesses the
variables by use association.

In program "etat0_lim", "itaufin" is not defined so "dynredem1" wrote
undefined value to "controle(31)". Added argument "itau" of
"dynredem1" to correct that.

"itaufin" does not need to be a module variable (of "temps"), made it
a local variable of "leapfrog".

Removed calls to "diagedyn" from "leapfrog".


Revision 26 - (view) (annotate) - [select for diffs]
Modified Tue Mar 9 15:27:15 2010 UTC (14 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 10011 byte(s)
Diff to previous 25
Moved variable "dtdiss" from module "comconst", variable "idissip"
from module "conf_gcm_m" and all variables from module "comdissipn" to
module "inidissip_m". "inidissip" creates file
"inidissip.csv". "idissip" is no longer read from a namelist. Removed
useless computation of "dtdiss" in procedure "iniconst".


Revision 25 - (view) (annotate) - [select for diffs]
Modified Fri Mar 5 16:43:45 2010 UTC (14 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 10037 byte(s)
Diff to previous 24
Simplified "etat0_lim.sh" and "gcm.sh" because the full versions
depended on personal arrangements for directories and machines.

Translated included files into modules. Encapsulated procedures into modules.

Moved variables from module "comgeom" to local variables of
"inigeom". Deleted some unused variables in "comgeom".

Moved variable "day_ini" from module "temps" to module "dynetat0_m".

Removed useless test on variable "time" and useless "close" statement
in procedure "leapfrog".

Removed useless call to "inigeom" in procedure "limit".


Revision 24 - (view) (annotate) - [select for diffs]
Modified Wed Mar 3 13:23:49 2010 UTC (14 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 11323 byte(s)
Diff to previous 23
Created directory "phylmd/Radlwsw". Split "radlwsw.f" in files
containing a single procedure.

Removed variable "itaufinp1" in "leapfrog".


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/dyn3d/leapfrog.f90
File length: 11473 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/dyn3d/leapfrog.f90
File length: 11584 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/dyn3d/leapfrog.f90
File length: 11519 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/dyn3d/leapfrog.f90
File length: 11532 byte(s)
Diff to previous 13
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 13 - (view) (annotate) - [select for diffs]
Modified Fri Jul 25 19:59:34 2008 UTC (15 years, 8 months ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 11518 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/dyn3d/leapfrog.f90
File length: 11582 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/dyn3d/leapfrog.f90
File length: 11579 byte(s)
Diff to previous 5
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 5 - (view) (annotate) - [select for diffs]
Modified Mon Mar 3 16:32:04 2008 UTC (16 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 11934 byte(s)
Diff to previous 3
Created module from included file parafilt.
Converted caldyn0 to free format.
Added a rule to create cross-references with NAG.
Added optional attribute in iniadvtrac.
Suppressed argument nq in dynredem0 and dynredem1, using nqmx instead.
Replaced some NetCDF calls by netcdf95 calls in dynredem0.
Added intent attribute in dynredem0 and dynredem1.
Annotated use statements with only clause, in dynredem1.
Suppressed variable nq and argument of iniadvtrac in etat0.
Added test on nqmx in etat0.

Revision 3 - (view) (annotate) - [select for diffs]
Added Wed Feb 27 13:16:39 2008 UTC (16 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/leapfrog.f90
File length: 11961 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