Parent Directory | Revision Log
Sticky Revision: |
Merge procedures clcdrag and coefcdrag into procedure cdrag (following LMDZ revision 2232).
Merge clcdrag and coefcdrag (following LMDZ revision 2232). Replace local arrays by scalars. max(qsurf, 0), f_cdrag_ter, f_cdrag_oce in clcdrag. max(cepdu2, speed(i)**2) in coefcdrag, test zri > 0 instead of >= 0. trm1 was unused in coefcdrag. No need for intermediary local variable pref_local.
Add arguments psol and pref to clcdrag, in preparation of merge with coefcdrag. Remove intent out arguments cdran and zri1 of coefcdrag, not used. Make argument pref of coefcdrag optional, in preparation of merge with clcdrag. Remove useless intermediary local variable zdphi in coefcdrag. Remove unused local variable ri1 in stdlevvar.
Move Sources/* to root directory.
In procedure clmain, no need for intermediary variables ykmm and ykmn. In module coefcdrag_m, remove unused procedures fsta and fins.
Rename phisinit to phis in restart.nc: clearer, same name as Fortran variable. In aaam_bud, use rlat and rlon from phyetat0_m instead of having these module variables associated to actual arguments in physiq. In clmain, too many wind variables make the procedure hard to understand. Use yu(:knon, 1) and yv(:knon, 1) instead of u1lay(:knon) and v1lay(:knon). Note that when yu(:knon, 1) and yv(:knon, 1) are used as actual arguments, they are probably copied to new arrays since the elements are not contiguous. Rename yu10m to wind10m because this is the norm of wind vector, not its zonal component. Rename yustar to ustar. Rename uzon and vmer to u1 and v1 since these are wind components at first layer and u1 and v1 are the names of corresponding dummy arguments in stdlevvar. In clmain, rename yzlev to zlev. In clmain, screenc, stdlevvar and coefcdrag, remove the code corresponding to zxli true (not used in LMDZ either). Subroutine ustarhb becomes a function. Simplifications using the fact that zx_alf2 = 0 and zx_alf1 = 1 (discarding the possibility to change this). In procedure vdif_kcay, remove unused dummy argument plev. Remove useless computations of sss and sssq. In clouds_gno, exp(100.) would overflow in single precision. Set maximum to exp(80.) instead. In physiq, use u(:, 1) and v(:, 1) as arguments to phytrac instead of creating ad hoc variables yu1 and yv1. In stdlevvar, rename dummy argument u_10m to wind10m, following the corresponding modification in clmain. Simplifications using the fact that ok_pred = 0 and ok_corr = 1 (discarding the possibility to change this).
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.
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).
Removed argument ncum of cv30_unsat, arguments nloc, ncum, nd, na of cv30_yield.
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.
Sources inside, compilation outside.
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.
Removed arguments klon, knon of interfoce_lim. Removed argument knon of interfsur_lim.
Removed procedure sortvarc0. Called sortvarc with an additional argument resetvarc instead. (Following LMDZ.) Moved current time computations and some printing statements from sortvarc to caldyn. Could then remove arguments itau and time_0 of sortvarc, and could remove "use dynetat0". Better to keep "dynetat0.f" as a gcm-only file. Moved some variables from module ener to module sortvarc. Split file "mathelp.f" into single-procedure files. Removed unused argument nadv of adaptdt. Removed dimension arguments of bernoui. Removed unused argument nisurf of interfoce_lim. Changed the size of argument lmt_sst of interfoce_lim from klon to knon. Removed case when newlmt is false. dynredem1 is called only once in each run, either ce0l or gcm. So variable nb in call to nf95_put_var was always 1. Removed variable nb. Removed dimension arguments of calcul_fluxs. Removed unused arguments precip_rain, precip_snow, snow of calcul_fluxs. Changed the size of all the arrays in calcul_fluxs from klon to knon. Removed dimension arguments of fonte_neige. Changed the size of all the arrays in fonte_neige from klon to knon. Changed the size of arguments tsurf and tsurf_new of interfsurf_hq from klon to knon. Changed the size of argument ptsrf of soil from klon to knon.
Changed all ".f90" suffixes to ".f".
Moved everything out of libf.
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".
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.
ViewVC Help | |
Powered by ViewVC 1.1.21 |