-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCHANGES
More file actions
804 lines (589 loc) · 31.6 KB
/
Copy pathCHANGES
File metadata and controls
804 lines (589 loc) · 31.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
CM1 Numerical Model, release 19.10 (cm1r19.10)
4 March 2020
Summary of changes.
-------------------------------------------------------------
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-------------------------------------------------------------
1. New options/features.
- Added the RRTMG radiation scheme.
(Set radopt = 2 to use this scheme.)
- Added code to calculate and write out turbulence diagnostics for
large-eddy simulations (LES) and direct numerical simulations (DNS)
during CM1 integration. Variables include domain-averaged vertical
profiles, variance profiles, resolved/parameterized vertical flux
profiles, etc. See namelist variable "doturbdiag" and see output
file contents for more information.
- Added code to calculate and write out azimuthally averaged fields
during CM1 integration. This option is useful for simulations of
rotating flow (eg, tropical cyclones, tornadoes). See namelist
variable "doazimavg" and see output file contents for more information.
- Added the option for CM1 users to specify the location of grid points
(including vertical levels) in an external ascii file. In this case,
users do not need to modify CM1 source code (eg, param.F) to specify
the distribution of vertical levels, or the location of horizontally
stretched grid points. Also, users do not need to use the pre-defined
stretching functions within CM1. See options stretch_x=3, stretch_y=3,
stretch_z=3 in README.namelist for more information.
- Added new advection options. In addition to the existing schemes
from previous versions of CM1 (5th-oder, 6th-order, and WENO-5)
users can now use: 2nd-order, 3rd-order, 4th-order, 7th-order,
8th-order, 9th-order, 10th-order, WENO-3, WENO-7, WENO-9.
See README.namelist for more information.
- Added a new variable to the CM1 namelist called "cm1setup" which makes
it easier to configure and use CM1. The focus is on how turbulence
is handled. Valid options are:
0 = no subgrid turbulence model & no explicit diffusion
(essentially integrate the Euler equations)
1 = large-eddy simulation (LES)
(integrate the filtered Navier-Stokes equations, aka, LES equations)
2 = mesoscale modeling with planetary boundary layer (PBL) parameterization
(essentially uses Reynolds-averaged Navier-Stokes, RANS, equations)
3 = direct numerical simulation (DNS)
(integrate Navier-Stokes equations with constant viscosity/diffusivity)
- Added all pre-configured namelists and input files in a new subdirectory
within the CM1 distribution. See the "run/config_files" subdirectory for
more information.
- Direct Numerical Simulations (DNS) with CM1 can now make use of terrain.
- Added several well-documented and common "test cases" from the literature.
(See variable "testcase" in README.namelist) These cases use simplified
physical parameterizations and/or specified tendency terms and/or special
settings, which are coded into CM1 and used only when appropriate. Options
for "testcase" are:
0 = Default. (no special physics, forcings, or configutation)
- Most users will use testcase=0.
1 = Convective Boundary Layer (CBL) using Large Eddy Simulation (LES)
- Based on Sullivan and Patton (2011, JAS, pg 2395)
- See namelist.input in directory run/config_files/les_ConvBoundLayer
2 = Sheared Boundary Layer (SBL) using Large Eddy Simulation (LES)
- (i.e., neutral boundary layer)
- Based on Moeng and Sullivan (1994, JAS, pg 999)
- See namelist.input in directory run/config_files/les_ShearBoundLayer
3 = Shallow cumulus clouds using Large Eddy Simulation (LES)
- Based on Siebesma et al (2003, JAS, pg 1201)
- See namelist.input in directory run/config_files/les_ShallowCu
4 = Nonprecipitating stratocumulus clouds using Large Eddy Simulation (LES)
- Based on Stevens et al (2005, MWR, pg 1443)
- See namelist.input in directory run/config_files/les_StratoCuNoPrecip
5 = Drizzling stratocumulus clouds using Large Eddy Simulation (LES)
- Based on Ackerman et al (2009, MWR, pg 1083)
- See namelist.input in directory run/config_files/les_StratoCuDrizzle
6 = Hurricane Boundary Layer (HBL) using Large Eddy Simulation (LES)
- Based on Bryan et al (2017, BLM, pg 475)
- See namelist.input in directory run/config_files/les_HurrBoundLayer
- Added pre-configured settings and namelist.input for a Direct Numerical
Simulation (DNS) case based on Rayleigh-Benard convection, following
Moneg and Rotunno (1990, JAS). See files in directory
run/config_files/dns_RayleighBenard for more information.
- Added the option to use a vertically explicit formulation for turbulence
tendencies in the CM1 subgrid turbulence/diffusion scheme. (Does not apply
to ipbl=1, i.e., the YSU PBL scheme.) The default option is still to use
vertically implicit diffusion (doimpl=1), which is absolutely stable, but
now users can use doimpl=0 for simple explicit diffusion calculations.
- Renamed the "perturbation Coriolis" scheme from "pertcor" to "lspgrad" to
acknowledge that this method actually applies a large-scale pressure
gradient tednency to the horizontal velocity equations. Also added two
new options: lspgrad=2, which allows the user to specify geostrophic wind
profiles that differ from the base-state wind profiles; and lspgrad=3,
which applies a gradient-wind balance formulation to determine large-scale
pressure gradient (following Bryan et al, 2017, BLM). See README.namelist
file for more information.
- Added several options to the CM1 surface layer scheme (sfclay=1) to
more easily accommodate idealized simulations:
set_flx - impose constant surface heat fluxes
cnst_shflx - value for surface sensible heat flux for set_flx=1
cnst_lhflx - value for surface latent heat flux for set_flx=1
set_znt - impose constant surface roughness length
cnst_znt - value of surface roughness length for set_znt=1
set_ust - impose constant surface friction velocity
cnst_ust - value of surface friction velocity for set_ust=1
- Added the ability to run large eddy simulations (LES) without an explicit
subgrid turbulence model (often called Implicit LES or ILES) without
requiring users to modify CM1 code. Simply set cm1setup=1 with sgsmodel=0
to run CM1 in this configuration.
- New output variables:
2D: - Convective Available Potential Energy (CAPE)
(see output_cape in namelist.input)
- Convective Inhibition (CIN)
(see output_cin in namelist.input)
- Lifted Condensation Level (LCL)
(see output_lcl in namelist.input)
- Level of Free Convection (LFC)
(see output_lfc in namelist.input)
- Precipitable water
(see output_pwat in namelist.input)
- Liquid water path and cloud water path
(see output_lwp in namelist.input)
3D: - Budget variables: includes tendencies due to advection, turbulence,
microphysics, radiation, pbl scheme, buoyancy, pressure-gradient
acceleration, etc, as calculated within CM1. See output files for
more information.
(see output_thbudget, output_qvbudget, output_ubudget,
output_vbudget, and output_wbudget in namelist.input)
stats: - Max/Min vertical velocity at five different levels:
0.5, 1, 2.5, 5, 10 km AGL
(see output_wlevs in namelist.input)
-------------------
cm1r19.2:
- For simulations with Coriolis acceleration (icor=1), added the ability
to use a beta plane. The f plane approximation is still used by
default. See the variable "betaplane" in the param.F file.
- Added the ability to turn off the Rayleigh damper near lateral boundaries
when hrdamp=1. See variables hrdamp_west, hrdamp_east, hrdamp_south, and
hrdamp_north in the param.F file.
- Added subgrid-scale tke budget terms and a preliminary version of
resolved-scale tke budget terms to the diagnostic turbulence code
(doturbdiag = .true.).
-------------------
cm1r19.3:
- Added the updraft nudging initialization scheme of Naylor and Gilmore
(2012, MWR, pg 3699). See iinit=12 in init3d.F for more information.
- The anelastic and incompressible solvers (psolver=4,5) can now be used
with open lateral boundary conditions. These codes have also been
optimized for efficiency, and the pressure variable "phi" is now included
in output files.
-------------------
cm1r19.4:
- Added the option to either apply the Rayleigh damper to the perturbation
from the base state (irdamp,hrdamp = 1, which was the only option in
CM1 previously) or to apply Rayleigh damper to the perturbation from the
domain-average profiles (irdamp,hrdamp = 2). The new option is useful
for very long simulations (roughly, >10 days).
- Added the RICO precipitating cumulus test case as testcase=7. See
README file in the run/config_files/les_ShallowCuPrecip subdirectory
and/or VanZanten et al (2011, JAMES) for more information.
- Added a radiative-convective equilibrium (RCE) test case as testcase=8.
See README file in the run/config_files/cpm_RadConvEquil subdirectory
and/or Bretherton et al (2005, JAS) for more information.
- Added a single-column version of the hurricane boundary layer test case
(testcase=6). See README file in the run/config_files/scm_HurrBoundLayer
subdirectory for more information.
- When writing budgets variables (output_thbudget, output_ubudget, etc)
and an odd-ordered advection scheme is used (3rd, 5th, 7th, 9th-order
advection) or a WENO advection scheme is used, then the advection
tendencies are separated into a non-diffusive component and the component
attributable to implicit diffusion.
(Note: in some previous versions of CM1, implicit diffusion tendencies
were previously written when output_impdiften=1. These output fields
have now been restored as part of the "budget" output variables introduced
in cm1r19.)
- Explicit diffusion tendencies are now added to the budget variables,
including tendencies from the sixth-order horizontal diffusion scheme
(idiff >=1 with difforder=6).
- Added the option to write pressure decomposition variables to output files.
Three diagnostic variables are determined: buoyancy pressure perturbation,
non-linear dynamic pressure perturbation, and linear dynamic pressure
perturbation (based on the base-state wind profiles).
Note: this code does not work with distributed-memory parallelization (MPI)
yet.
See output_pdcomp in the namelist and README.namelist for more info.
- Added the ability to more easily write any output field to a CM1 output
file. Specifically, the arbitrary arrays "out3d" and "out2d" have been
added to CM1. These arrays are allocated at the beginning of a CM1
simulation, and have arbitrary sizes based on the "nout3d" and "nout2d"
variables which can be set near the top of the cm1.F file. As long as
nout3d and/or nout2d are >= 1, then the contents of these arrays will be
added to CM1 output files, and named "out1" and "out2" and "out3" etc.
The only thing the users needs to do is: 1) set values for nout3d and
nout3d in cm1.F; 2) make sure the out(i,j,k,1) and out(i,j,k,2) etc
arrays are filled with the information/variable/diagnostic that the
use wants to output. See also the brief description near the top of
the cm1.F file.
- Added additional variables to CM1 output files:
- arbitrary 3d and 2d output arrays (see item above)
- vgrad (gradient wind) when the axisymmetric model is used (axisymm=1)
- wspd, the wind speed in the surface layer (including gust) used to
calculate surface fluxes for some surface-layer schemes
- pressure decomposition variables (see "pressure decomposition" item
above; user must set output_pdcomp in the namelist; (Note: does not
work with distributed memory MPI simulations, yet)
- Added additional variables to the azimuthal averaging code:
- satfrac (fraction of saturated gridpoints)
- vgrad (gradient wind)
- buoyancy (wrt base state)
- pressure decomposition fields (eg, buoyancy and dynamic prs perts)
- vertical accel due to pressure decomposition fields
- Added many, many new variables to the turbdiag (turbulence diagnostics)
output files. See cm1out_turbdiag* files for more information.
- Added max/min PBL depth as a "stats" variable.
-------------------
cm1r19.5:
- Added even more variables to the turbdiag (turbulence diagnostics)
output files. See cm1out_turbdiag* files for more information.
-------------------
cm1r19.6:
- Added isnd=17 option, which is the same as isnd=7 (external file) except
the wind profiles are neglected, and the iwnd option can be used to specify
base-state/initial wind profile. See README.namelist for more information.
- Added several options to the tropical cyclone initialization scheme
(iinit=7), including the ability to locate the vortex anywhere in the
domain, and the option to use a modified Rankine analytic vortex. See the
iinit=7 section of init3d.F for more information.
- Added the ability to use Thompson microphysics scheme with eqtset=2 (the
energy-conserving equations that account for the heat capacity of
hydrometeors).
- When using the YSU PBL scheme, all three eddy diffusivities (for heat,
moisture, and momentum) are now included in output files.
-------------------
cm1r19.7:
- (nothing new)
-------------------
cm1r19.8:
- Added new stats output variables:
- maximum surface precipitation rate
- level of maximum/minimum vertical velocity
- level of maximum/minimum horizontal wind speed
- Added new turbdiag output variables:
- maximum and minimum vertical velocity
- maximum and minimum horizontal wind speed
- maximum and minimum vertical vorticity
- total upward and downward mass flux profiles
- domain-average profiles of passive tracers and fluxes when iptra=1
- Added output variables:
- surface roughness length for temperature and moisture when
sfcmodel = 2,3.
- Added ability to nudge inflow velocity profiles towards base-state
profiles. This option can keep inflow profiles nearly constant
throughout simulations. See the variables "nudgeobc" and "alphobc"
in README.namelist for more information.
- Added stretch_z = 4 option, which allows users to specify the model's
full levels (aka, w levels) via an external file, input_grid_z. See
the variable "stretch_z" in README.namelist for more information.
-------------------
cm1r19.9:
- Added the GFS-EDMF planetary boundary layer scheme (ipbl=3) and the
GFDL surface layer scheme (sfcmodel=4). These are the parameterizations
used in HWRF_v4.0a, and default settings are the same (as much as
possible); see the section of code labeled "hwrf parameters" in turb.F
for more information.
- Added the ability to use the output_interp option with netcdf-format
files.
- Added even more variables to the turbdiag (turbulence diagnostics)
output files. See cm1out_turbdiag*.ctl files for more information.
- Added testcase=9, the stable boundary-layer LES case from Beare et al.
(2006, BLM). See files in the subdirectory run/config_files/les_StableBoundLayer
for more information.
- Added testcase=10, an extension of testcase=6 that allows for surface
fluxes of heat and moisture, and allows for stratification. Experimental:
use with caution.
-------------------
cm1r19.10:
- Added the MYNN (Mellor-Yamada-Nakanishi-Niino) planetary boundary layer
scheme. ipbl=4 uses MYNN level 2.5, ipbl=5 uses MYNN level 3
- Added the MYNN surface layer scheme (sfcmodel=6).
- Added another case to the "config_files" subdirectory, which uses
the testcase=10 configuration. See the README file in
scm_HurrBoundLayer_tqnudge subdirectory for more information.
-------------------------------------------------------------
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-------------------------------------------------------------
2. Changes, fixes, modifications, etc.
- The CM1 solver was simplified, slightly, to increase performance.
A roughly 10% decrease in computational cost may be seen on some
platforms and with some compilers. Largest improvement (for cm1r19
relative to cm1r18) seems to come when using the GNU compiler
(gfortran).
(solve.F, sound.F, sounde.F)
- The calculation of horizontal pressure gradient terms with terrain-
following coordinates (terrain_flag = .true.) has been substantially
improved.
(many files)
- Some calls to subroutines that are not directly related to integrating
CM1 (eg, statpack, writeout) were moved out of solve.F; the cm1.F
file was re-organized to accommodate this change, and to simpify I/O
routines and diagnostic code. Long-time users of CM1 will need to
look in cm1.F instead of solve.F to find certain code.
(many files)
- The cm1 "include" directory was eliminated. Instead, more Fortran
modules are used to specify variables and constants. See, especially,
the new files input.F and constants.F in the "src" directory.
(many files)
- Made many changes to the I/O routines to make it easier to write out
new variables and diagnostics. See, especially, the new *_output,
*_stat, and *_prcl arrays in cm1.F, writeout.F, writeout_nc.F,
statpack.F, and parcel.F.
(many files)
- The cm1 variable "nsound" has been removed from the namelist. Users no
longer need to specify "nsound" (the number of "small" time steps per
"big" time step), which is now calculated diagnostically during CM1
integrations.
(many files)
- To make the parcel code run much faster, the array structure of certain
variables (eg, pdata) was re-ordered. The code also uses different
MPI calls for distributed-memory parallelization.
(many files, including parcel.F)
- Made some minor modifications / bug fixes in the Morrison microphysics
code.
(morrison.F)
- The Thompson microphysics code has been updated. It is now the same
version that is in WRF 3.9.
(thompson.F, solve.F)
- The YSU PBL scheme has been updated.
(ysu.F)
- A potentially major bug when using the YSU PBL scheme with the
axisymmetric version of CM1 (axisymm=1) has been flushed out and fixed.
The turbulent tendency to tangential velocity was underestimated
previously.
(turb.F)
- The CM1 variable "eqtset" (for using traditional or Bryan-Fritsch moist
equation sets) has been fully incorporated into the calculations of
radiation tendencies. Previously, only the eqtset=2 option was
technically valid for CM1 simulations with radiation.
(many files)
- Fixed a minor bug in the calculation of potential vorticity (PV).
The bug only affected simulations without terrain, and did not affect
model integrations (i.e., it was only a problem for output files).
Thanks to Xiaoming Shi (Univ Cal-Berkeley) for finding this bug.
(misclibs.F)
- Fixed some problems with the standard text output at the beginning of
simulations. (Does not affect simulations; merely affects some text
diagnostics.) Thanks to Teddie Keller of NCAR/RAL for finding these
bugs.
(param.F, base.F)
- Updated the CM1 Makefile. Default settings are appropriate for NCAR's
new supercomputer, cheyenne.
(Makefile)
-------------------
cm1r19.2:
- Updated the NSSL microphysics code. See documentation near the top of
module_mp_nssl_2mom.F for more information. Thanks to Ted Mansell of
NOAA/NSSL.
(module_mp_nssl_2mom.F)
- Fixed a bug with the goddard microphysics module that was causing certain
compilers to crash. (Does not change results.) Thanks to Dan Stern of NRL.
(goddard.F)
- Fixed a bug with the netcdf-format stats output routine, which was
crashing for long simulations. (Does not change results.) Thanks to Dan
Kirshbaum of McGill University.
(writeout_nc.F)
- Fixed a bug with the RRTMG shortwave radiation code that was causing
some long simulations to crash. Thanks to Stipo Sentic of New Mexico Tech.
(module_ra_rrtmg_sw.F)
- Tweaked the Deardroff/Lilly TKE subgrid model for LES (sgsmodel=1) to
better handle the subgrid length scale in stable conditions. Thanks to
Xiaoming Shi of the University of California Berkeley.
(turb.F)
- Fixed a bug with the diagnostic calculation of horizontal pressure gradient
(output_ubudget = 1 and/or output_vbudget = 1) when using terrain. Does
not affect simulations (only affects diagnostic budget output).
(solve.F)
- Fixed some minor bugs with I/O when the output frequency is not exactly
divisible by the time step. No change on results; merely affects the
times when output is written.
(cm1.F)
-------------------
cm1r19.3:
- Updated the Thompson microphysics scheme (ptype=3). The version is now
the same as that in WRF3.9.1.
(thompson.F)
- Updated the revised surface layer scheme (sfcmodel=3). The version is now
the same as that in WRF3.9.1.
(sfclayrev.F)
- Fixed a few minor bugs with the compressible-Boussinesq solver (psolver=6)
and added the pressure variable "phi" to output files.
(soundcb.F, writeout.F, restart.F)
-------------------
cm1r19.4:
- Added more documentation for the input_sounding option (isnd=7). See the
relevant section of code in base.F or the webpage
http://www2.mmm.ucar.edu/people/bryan/cm1/soundings/
for more information.
(base.F)
- Fixed a bug with the compressible-Boussinesq solver (psolver=6) when using
terrain.
(soundcb.F)
- Modified the calculation of saturation vapor pressure for very cold
temperatures (< -100 C) to avoid Bad Things. Only relevant for very
deep domains (> 30 km).
(many files)
- Replaced the old crude calculation of PBL depth with a slightly less crude
calculation based on critical Richardson number. The new code prevents
ridiculously large values (> 20 km) of PBL depth. Note1: as before, use
this diagnostic code with caution. Note2: diagnosed PBL depth is
unchanged when using the YSU PBL scheme (ipbl=1).
(turb.F, sfcphys.F)
- For calculation of squared moist Brunt-Vaisala frequency (nm array) the
saturation condition is changed from simply the presence of qc and/or qi
to a condition based on saturation state. This changed was made primarily
because there are regions where the air can very dry (wrt saturation) but
can have cloud ice due to sedimentation of qi from above. This change
affects all the LES subgrid turbulence parameterizations, as well as
ipbl = 1,2 (YSU and simple CM1 PBL schemes).
(turb.F, ysu.F)
- Physical constants in RRTMG radiation scheme are changed to be consistent
with the rest of CM1.
(module_ra_rrtmg_lw.F, module_ra_rrtmg_sw.F, radiation_driver.F)
- OpenMP parallelization (shared memory parallelization) can now be used for
the RRTMG radiation scheme.
(module_ra_rrtmg_lw.F, module_ra_rrtmg_sw.F, radiation_driver.F)
- Fixed a bug that didn't allow the simple CM1 PBL scheme (ipbl=2) to be
used without moisture (imoist=0). Thanks to Thomas Kloetzke of the
University of Queensland.
(param.F)
- Fixed a bug with netcdf-format restart files and sfcmodel=1. Thanks to
Dan Stern (NRL).
(writeout_nc.F)
- Other minor bug fixes have been applied.
(solve.F, turb.F, cm1.F, etc)
-------------------
cm1r19.5:
- Adaptive time stepping (adapt_dt=1) has been modified to account for
numerical stability of horizontal turbulence/diffusion. This change will
not affect most simulations, but fixes a problem with CM1 crashing for very
strong hurricanes.
Thanks to Dan Stern of UCAR/NRL.
(cm1.F, misclibs.F, turb.F)
- Some code has been rearranged to increase efficiency. No change on results,
but on some platforms run times will be lower by about 5% (relative to
cm1r19.4).
(many files)
- The YSU PBL (ipbl=1) and the revised surface layer scheme (sfcmodel=3) can
now be parallelized using OpenMP (shared-memory parallelization).
(ysu.F, sfcmodelrev.F)
- A few bugs were fixed for set_ust=1 (specified surface friction velocity).
The retrieved values of roughness length and drag coefficient are now
accurate. Minor affect on results.
(sfcphys.F)
- A potential problem writing GrADS descriptor files has been fixed. (The
problem only occurred when certain descriptor files had no content, but
the code was trying to write to them anyway.)
Thanks to Casey Davenport of University of North Carolina at Charlotte.
(writeout.F)
- A problem with netcdf-format parcel output files ("pdata files") was fixed.
When "output_path" was modified in the namelist (and thus output files are
not written in the same place as cm1.exe) the parcel files was not written
in the proper location. Now, all netcdf-format files should be written
in the directory specified by "output_path".
Thanks to Stacey Hitchcock of Colorado State University.
(writeout_nc.F)
- A problem with netcdf-format restart files was fixed. When the namelist
variable "restart_file_diags" was set to .true., then attempts to write
restart files would fail. This problem has been fixed.
Thanks to Bruno Melli of Colorado State University.
(writeout_nc.F)
-------------------
cm1r19.6:
- Updated the surface layer schemes from the WRF model (sfcmodel=2,3). They
are now the same as that in WRF4.0.
(sfclay.F, sfclayrev.F)
- Updated the Thompson microphysics scheme (ptype=3). It is now the same as
the code in WRF4.0.
(thompson.F)
- Updated the NSSL microphysics code. Thanks to Ted Mansell (NOAA/NSSL).
(module_mp_nssl_2mom.F)
- Fixed a bug with iinit=7 (tropical cyclone initialization) wherein the
base-state wind profile was ignored.
(init3d.F)
- Fixed some minor bugs with the moving-domain option (imove=1).
(param.F, solve.F, parcel.F, diff2.F, turb.F)
- For imove=1, some descriptors in output files have been modified to
clarify whether the variable is grid-relative or ground-relative.
(writeout.F, statpack.F, azimavg.F, turbdiag.F)
- Modified the lateral Rayleigh damping scheme (hrdamp=1) so that it is
only applied to vertical velocity.
(param.F)
- Fixed a very minor bug when using the YSU PBL scheme and dissipative
heating.
(turb.F)
- Modified the code to estimate PBL depth (for diagnostic purposes only)
to be very similar to that in the YSU scheme. Reduces PBL depths by
a factor of 2-3.
(sfcphys.F)
- Modified calculations of domain-average profiles (u,v,t,q) to use
grid-area-weighted averages instead of simple arithmetic averages; this
modification is needed to account for horizontal grid stretching in CM1
(little-to-no change in results if horiz grid stretching is not used).
(testcase_simple_phys.F)
- Several changes were made to the azimuthal averaging code:
- Grid-area-weighted averages are now used instead of simple arithmetic
averages to account for horizontal grid stretching in CM1.
- A new two-step methodology is used to determine the center of a storm;
the first pass locates the location of minimum surface pressure
perturbation; the second step is the same as before (ie, finds the
point that yields the maximum possible azimuthally averaged tangential
velocity). This code was needed to account for very fast moving storms
(because the old method used the last known centerpoint as a first
guess).
- The code was modified to account for cases when the storm is near a
lateral boundary.
- Wind speeds at z=10m have been added as output variables.
- PBL depth has been added as an output variable.
- Radiative tendencies have been added as output variables.
- Eddy diffusivities from the YSU PBL scheme have been added as output
variables.
(azimavg.F)
- Fixed a bug with the calculation of resolved TKE tendency terms in the
turbulence diagnostic code.
(turbdiag.F)
-------------------
cm1r19.7:
- Several technical problems with the parcel option (iprcl=1) when using
terrain (terrain_flag=.true.) have been fixed in this version. The code
now parallelizes correctly, and can be used with restarts. Thanks to
Dan Kirshbaum (McGill Univ) for identifying and fixing some of these
problems.
(parcel.F, init3d.F)
- Documentation for the output_pdcomp option has been added to README.namelist.
(README.namelist)
- Updated the variables in the tropical cyclone initialization scheme
(iinit=7). Those variables specific to the Rotunno-Emanuel 1987 vortex
now have variable names ending in "_re87".
(init3d.F)
- Updated the Thompson microphysics scheme (ptype=3). It is now the same as
the code in WRF4.0.1.
(thompson.F)
- Fixed a very minor problem with the apmasscon=1 option to ensure
bit-identical parallelization with MPI.
(solve.F)
-------------------
cm1r19.8:
- Modified MPI communications so that CM1 will work with default software
on NCAR's Cheyenne supercomputer. (Does not change results or performance.)
(various files)
- Fixed error with surface flux in turbdiag output.
(turbdiag.F)
- Fixed a minor bug with the NSSL microphysics schemes that was causing
slightly different results when output frequency was changed. (Thanks to
Ted Mansell of NOAA/NSSL.)
(module_mp_nssl_2mom.F)
- Added a check at startup to ensure that all grid points (in all three
dimensions) have grid spacing > 0.
(param.F)
- Modified the method to extrapolate velocity near the surface when isnd = 7.
(Thanks to Glen Romine, NCAR/MMM, for noting potential problems with the
old method.)
(base.F)
-------------------
cm1r19.9:
- Fixed a bug in the 9th-order WENO advection code. Thanks to Jerry Straka
for pointing out this bug.
(adv_routines.F)
- Changed the implicit solver for turbulence tendencies (doimpl=.true.) from
Crank-Nicholson (vialpha = 0.5) to Euler forward (vialpha = 1.0). This
change helps maintain stability for even larger time steps and/or smaller
vertical grid spacing.
(constants.F)
- Fixed some memory problems with writing 2d/3d output; only affected very
large simulations.
(writeout.F)
- Fixed several minor problems with netcdf-format output. Thanks to Kamal
Kant Chandrakar for pointing out these problems.
(writeout_nc.F)
- Increased the cap on the number of small (acoustic) time steps from 48
to 96. This change allows for large advective timesteps for simulations
with weak flows (ie, a few m/s).
(misclibs.F)
- Fixed a bug with lspgrad=2 and imove=1.
(base.F)
- Updated the Thompson microphysics scheme (ptype=3). It is now the same as
the code in WRF4.1.3
(thompson.F)
-------------------
cm1r19.10:
- Fixed problems with the mpi_wait command with some implementations of
MPI (eg, openmpi, impi) that were introduced in cm1r19.8.
(comm.F, writeout.F, restart.F, hifrq.F)
- Made some minor changes to allow for longer and more-general values
of outout_path and output_basename.
(writeout.F, writeout_nc.F, statpack.F, parcel.F)
- Fixed a quirky problem with restart frequencies. (I think)
(cm1.F)