Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
d412d43
added BUGSRAD
adeleigel Jan 18, 2023
9ce882f
Added new BUGSRAD files
adeleigel Jan 18, 2023
eb993ba
Update README.md
adeleigel Jan 18, 2023
a590210
Deleted unnecessary commented lines
adeleigel Jan 18, 2023
1ced36a
Just merging in the updated README
adeleigel Jan 18, 2023
e1034e8
formatting
adeleigel Jan 18, 2023
a37a8ef
Updated IMONO=1 for vertical monotonic flux limiter in advection turn…
smsaleeb Feb 24, 2023
5aba63c
Changed reading of RAMSIN namelist string length from A80 to A256.
smsaleeb Feb 24, 2023
0af2f24
Bounds fix to aerosol radius in deposition routine.
smsaleeb Feb 24, 2023
04119c4
Updated several microphysical process rates, including separating vap…
smsaleeb Mar 2, 2023
c2e8948
Updated RAMS documentation
smsaleeb Mar 2, 2023
2fa77c9
Small update to path in include.mk
smsaleeb Mar 2, 2023
736e904
Moving all src files from version directory to /src to eliminate the …
smsaleeb Mar 2, 2023
2776c11
Update include.mk to remove version name directory that we no longer …
smsaleeb Mar 2, 2023
5195524
Merge pull request #13 from smsaleeb/main
smsaleeb Mar 2, 2023
2224725
Updated documentation for initial release of RAMS v6.3.03
smsaleeb Mar 2, 2023
f20afc4
Merge branch 'RAMSmodel:main' into main
smsaleeb Mar 2, 2023
c8f4e39
Merge pull request #14 from smsaleeb/main
ldgrantcsu Mar 2, 2023
3b1fe4e
Converted .f files to .f90
arjadre Apr 27, 2023
aae729e
Delete bandsolve.f
arjadre Apr 27, 2023
23ecfde
Delete bugs_files.f
arjadre Apr 27, 2023
d036e0c
Delete bugs_rad.f
arjadre Apr 27, 2023
f474930
Merge pull request #1 from arjadre/main
adeleigel Jun 29, 2023
8941f1a
message
adeleigel Jun 29, 2023
32980e9
Merge branch 'main' of https://github.com/adeleigel/RAMS
adeleigel Jun 29, 2023
6d0efef
integrated RTE-RRTMGP
adeleigel Jul 12, 2023
8c46937
updated with RAMSmodel/RAMS main
adeleigel Jul 12, 2023
2eb712a
a few miscellaneous changes after merging with the main RAMS code
adeleigel Jul 12, 2023
510f2be
Update README.md
adeleigel Jul 13, 2023
7b0fedc
Improved nested grid boundaries to seamlessly move scalars from outer…
smsaleeb Aug 23, 2023
7c17437
Limit cloud nucleation to aerosol median radius > 0.01um (10nm), and …
smsaleeb Aug 23, 2023
89c8405
Updates to heterogeneous ice nucleation and microphysics adjustments …
smsaleeb Aug 23, 2023
0bcb1a6
Permit heterogeneous ice nucleation for T<-35C, but limit coldest tem…
smsaleeb Aug 23, 2023
41ac85f
Changed aerosol names CCN and GCCN to be more generalized since they …
smsaleeb Aug 24, 2023
1203c20
Added new INP profiles that can be chosen by the user in subroutine i…
smsaleeb Aug 24, 2023
0dcbe82
Updated all documentation for code with tag v6.3.03f.
smsaleeb Aug 24, 2023
b8eee94
Merge pull request #17 from smsaleeb/main
smsaleeb Sep 7, 2023
ab3c477
Updates to dprep Makefiles and Readme files. Also update to dprep f90…
smsaleeb Sep 12, 2023
183c7e0
Merge pull request #18 from smsaleeb/main
smsaleeb Sep 12, 2023
e9d4867
Fixes to Makefiles, update bin.block, update gitignore, update README…
smsaleeb Sep 15, 2023
2b6d663
Minor code comment updates
smsaleeb Sep 20, 2023
c5a70cb
Update driver_read.f90
arjadre Oct 17, 2023
f7aa8ad
Update bugs_files.f90
arjadre Oct 17, 2023
6e598b6
Update bugs_files.f90
arjadre Oct 17, 2023
929b72b
Update bugs_files.f90
arjadre Oct 17, 2023
0e63704
mic_nuc.f90 bug fix - dimension of concen_tab
arjadre Oct 17, 2023
d50a532
Update README.md
arjadre Oct 17, 2023
ff326ba
mic_nuc.f90 bug fix - dimension of concen_tab
arjadre Oct 17, 2023
5c47783
Array size fix to 'concen_tab' array in subroutine 'cldnuc'.
smsaleeb Oct 19, 2023
5f0f673
Merge pull request #19 from arjadre/patch-1
smsaleeb Oct 19, 2023
7762297
added RTE-RRTMGP compatability with IRCE=1
adeleigel Nov 14, 2023
869e6af
Merge branch 'main' of https://github.com/adeleigel/RAMS
adeleigel Nov 14, 2023
268906f
increased limiter on k in RTE sw_dif_and_source
adeleigel Nov 22, 2023
09ed53a
update BCs for ILWRTYP/ISWRTYP > 3
adeleigel Nov 22, 2023
e9d91e4
more bounds check updates for ISWRTYP/ILWRTYP and a fix to the Makefile
adeleigel Dec 1, 2023
3cb541e
Merge pull request #2 from arjadre/main
adeleigel Dec 13, 2023
da70beb
minor things before merge with upstream
adeleigel Dec 13, 2023
e1040f4
merging include.mk
adeleigel Dec 13, 2023
538df3d
More changes than ought to be in one commit. Lots of new model options.
adeleigel Jan 2, 2024
ca41e81
removed things that were only for testing
adeleigel Jan 2, 2024
2274a87
included delta-scaling of aerosol in RTE-RRTMGP
adeleigel Jan 3, 2024
56210a8
mpi passing of sound_file
adeleigel Jan 3, 2024
42f3fbe
added broadcast of forc_lev and forc_time and changed nradmax to just…
adeleigel Jan 4, 2024
60d92d1
error fix in rname
adeleigel Jan 4, 2024
0402a84
fixes to history restart with new functionality
adeleigel Jan 9, 2024
f9e8562
fix to prevent tau lookup errors
adeleigel Jan 13, 2024
cec8b66
error fix to icharnock in sfc_driver
adeleigel Jan 19, 2024
e2099d2
Updated aggregation efficiency
smsaleeb Feb 21, 2024
5112cf5
opspec update for iifn
adeleigel Feb 22, 2024
abc72cf
quasi-constant ice conc update
adeleigel Feb 23, 2024
58d6764
Merge pull request #20 from smsaleeb/main
freemansw1 Feb 27, 2024
7dd4c80
Merge branch 'main' into main
adeleigel Feb 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 15 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,27 @@
*.grb1
*.grb2
dp-p[0-9]*

bin.block/example_modis_sst/*
bin.block/example_reynolds_sst/*
bin.block/mk-blkfiles*
bin.block/CreateSSTblockfiles.sc
bin.block/run_test_sstfiles.sc

bin.dp.grib1/example_data/*
bin.dp.grib1/dgrib*
bin.dp.grib1/rams_wgrib

bin.dp.grib2/example_data/*
bin.revu/example_data/*
bin.dp.grib2/wgrib*
bin.dp.grib2/dgrib*

bin.revu/example_data/*
bin.revu/revu*

bin.rams/dprep.test/*
bin.rams/rams*
bin.rams/cleanup.sc

# Ignore external libraries
misc/*
Expand Down
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
# RAMS
[![DOI](https://zenodo.org/badge/307815774.svg)](https://zenodo.org/badge/latestdoi/307815774)

RAMS model source code. To see full documentation, go to the [van den Heever group website](https://vandenheever.atmos.colostate.edu/vdhpage/rams/rams_docs.php).
RAMS model source code. To see full documentation, go to the [van den Heever group website](https://vandenheever.atmos.colostate.edu/vdhpage/rams/rams_docs.php).

In this fork, I have added BUGSRAD radiation as option 4 for ISWRTYP and ILWRTYP. A few notes about this implementation:

o Only cloud droplets, pristine ice and snow are passed to the BUGSRAD radiation routines. This is ok for now as cloud droplets and ice crystals are the two most important hydrometeors for radiation

o Cloud droplet mass and number are both passed. Only the sum of pristine ice and snow mass is passed.

o No aerosol species are coupled to BUGSRAD radiation.

o BUGSRAD contains separate albedo values for direct and diffuse radiation. I've set these to be equal. (see radiate/driver_read.f90, alndr, alndf, alvdr, alvdf)

o BUGSRAD contains separate albedo values for shortwave and near IR. I've set these to be equal. (aln* - near IR, alv* - visible)

o BUGSRAD has its own precision definitions (e.g. dbl_kind). They're still being used and aren't interfaced with the options to compile with double or single precision in the Makefile.

I've also added RTE+RRTMGP radiation (https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2019MS001621) as option 5

74 changes: 74 additions & 0 deletions bin.block/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#Makefile
###############################################################################
# Include definitions
###############################################################################
include ../include.mk
###############################################################################
# Compiler commands
###############################################################################
INCLUDES = $(UTILS_INCS) $(PAR_INCS) $(HDF5_INCS)
F_CD1 = $(F_COMP) -c $(F_OPTS1) $(INCLUDES)
F_CD2 = $(F_COMP) -c $(F_OPTS2) $(INCLUDES)
C_CD = $(C_COMP) -c $(C_OPTS) $(INCLUDES) $(PAR_DEFS) $(HDF5_DEFS)

C_CM =$(C_CD) -D$(CMACH) $< && $(ARCH) $@ $(<F:.c=.o) && rm -f $(<F:.c=.o)
F_CM1=$(F_CD1) $< && $(ARCH) $@ $(<F:.f90=.o) && rm -f $(<F:.f90=.o)
F_CM2=$(F_CD2) $< && $(ARCH) $@ $(<F:.f90=.o) && rm -f $(<F:.f90=.o)
F_CM3=$(F_CD2) -D$(CMACH) $< && $(ARCH) $@ $(<F:.F90=.o) && rm -f $(<F:.F90=.o)

################################################################################
## File extension rules
################################################################################
$(ARC)(%.o): %.f90; $(F_CM2)

$(ARC)(%.o): %.F90; $(F_CM3)

$(ARC)(%.o): %.c; $(C_CM)

################################################################################
# Define objects
################################################################################
OBJ = $(ARC)($(MODEL)/block/hdf5_f2c.o) \
$(ARC)($(MODEL)/block/hdf5_utils.o) \
$(ARC)($(MODEL)/lib/rget.o)

###############################################################################
# Define archive and executable names
###############################################################################
BASE=mk-blkfiles
EXE=$(BASE)-$(RAMS_VERSION)
ARC=$(BASE)-$(RAMS_VERSION).a

# Define main source.
MAIN_OBJ = ./mk_main.o
MAIN = $(MODEL)/block/mk_main.f90

# Define targets.
all: $(EXE)

$(EXE): $(ARC) $(MAIN) FORCE
@echo ""
$(F_COMP) -o $(EXE) $(MAIN_OBJ) $(LOADER_OPTS) $(ARC) \
$(HDF5_LIBS) $(LIBS) $(PAR_LIBS)
rm -f *.o
@echo ""
@echo Finished building === $(EXE)
@echo ""

$(MAIN): FORCE
@echo ""
$(F_CD2) $@

$(ARC): $(OBJ)

FORCE:

check: FORCE
@echo ""
check

clean:
@echo ""
rm -f $(ARC) $(EXE) $(BASE) *.o *.mod *.f
@echo ""

7 changes: 4 additions & 3 deletions bin.dp.grib1/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Makefile
#Makefile
###############################################################################
# Include definitions
# Include definitions
###############################################################################
include ../include.mk
###############################################################################
Expand Down Expand Up @@ -51,7 +51,8 @@ rams_wgrib:

$(EXE): $(ARC) $(MAIN) FORCE
@echo ""
$(F_COMP) -o $(EXE) $(MAIN_OBJ) $(LOADER_OPTS) $(ARC)
$(F_COMP) -o $(EXE) $(MAIN_OBJ) $(LOADER_OPTS) $(ARC) \
$(HDF5_LIBS) $(LIBS) $(PAR_LIBS)
rm -f *.o
@echo ""
@echo Finished building === $(EXE)
Expand Down
4 changes: 2 additions & 2 deletions bin.dp.grib1/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
3. Not all Grib reanalysis and forecast gridded datasets are accounted for.

You can view the degribbing code in the files such as:
src/6.2.11/dprep/dgrib1_main.f90 and
src/6.2.11/lib/griber_grb1.c
src/dprep/dgrib1_main.f90 and
src/lib/griber_grb1.c

In these routines are the specfications for adding a new dataset. Grib
names and numbers and labels can vary among datasets and each variation
Expand Down
8 changes: 5 additions & 3 deletions bin.dp.grib2/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#Makefile
#Makefile

###############################################################################
# Include definitions
# Include definitions
###############################################################################
include ../include.mk
###############################################################################
Expand Down Expand Up @@ -52,7 +53,8 @@ wgrib2:

$(EXE): $(ARC) $(MAIN) FORCE
@echo ""
$(F_COMP) -o $(EXE) $(MAIN_OBJ) $(LOADER_OPTS) $(ARC)
$(F_COMP) -o $(EXE) $(MAIN_OBJ) $(LOADER_OPTS) $(ARC) \
$(HDF5_LIBS) $(LIBS) $(PAR_LIBS)
rm -f *.o
@echo ""
@echo Finished building === $(EXE)
Expand Down
11 changes: 9 additions & 2 deletions bin.dp.grib2/README.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Before compiling, you need a precompiled executable for "wgrib2".
We have used version wgrib2 2.0.3 downloaded September 19, 2019.
You will need to search for this software online and compile for your system.
The executable name should be "wgrib2" and should be placed in this directory
for the Makefile to find.

1. Type "make" to compile after you have setup your ../include.mk file.

2. Run sample executable like "dgrib-6.2.11" to see instructions on how to
Expand All @@ -6,9 +12,10 @@
3. Not all Grib reanalysis and forecast gridded datasets are accounted for.

You can view the degribbing code in the files such as:
src/6.2.11/dprep/dgrib2_main.f90 and
src/6.2.11/lib/griber_grb2.c
src/dprep/dgrib2_main.f90 and
src/lib/griber_grb2.c

In these routines are the specfications for adding a new dataset. Grib
names and numbers and labels can vary among datasets and each variation
has to be customized as a new datatype.

59 changes: 55 additions & 4 deletions bin.rams/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,22 @@ include ../include.mk
###############################################################################
# Compiler commands
###############################################################################
LIBS += -L$(NETCDF_FORTRAN_ROOT)/lib -lnetcdff
LIBS += -L$(NETCDF_C_ROOT)/lib -lnetcdf

INCLUDES = $(UTILS_INCS) $(PAR_INCS) $(HDF5_INCS)
INCLUDES += -I$(NETCDF_FORTRAN_ROOT)/include

F_CD1 = $(F_COMP) -c $(F_OPTS1) $(INCLUDES)
F_CD2 = $(F_COMP) -c $(F_OPTS2) $(INCLUDES)
F_CD3 = $(F_COMP) -c $(F_OPTS3) $(INCLUDES)
C_CD = $(C_COMP) -c $(C_OPTS) $(INCLUDES) $(PAR_DEFS) $(HDF5_DEFS)

C_CM =$(C_CD) -D$(CMACH) $< && $(ARCH) $@ $(<F:.c=.o) && rm -f $(<F:.c=.o)
F_CM1=$(F_CD1) $< && $(ARCH) $@ $(<F:.f90=.o) && rm -f $(<F:.f90=.o)
F_CM2=$(F_CD2) $< && $(ARCH) $@ $(<F:.f90=.o) && rm -f $(<F:.f90=.o)
F_CM3=$(F_CD2) -D$(CMACH) $< && $(ARCH) $@ $(<F:.F90=.o) && rm -f $(<F:.F90=.o)
F_CM4=$(F_CD3) $< && $(ARCH) $@ $(<F:.F90=.o) && rm -f $(<F:.F90=.o)

################################################################################
## File extension rules
Expand All @@ -28,24 +35,52 @@ $(ARC)(%.o): %.F90; $(F_CM3)

$(ARC)(%.o): %.c; $(C_CM)

$(ARC)($(MODEL)/radiate/rte-rrtmgp/%o): $(MODEL)/radiate/rte-rrtmgp/%F90; $(F_CM4)

################################################################################
# Define objects
################################################################################
OBJ = $(ARC)($(MODEL)/lib/an_header.o) \
OBJ1 =$(ARC)($(MODEL)/lib/an_header.o) \
$(ARC)($(MODEL)/lib/rconstants.o) \
$(ARC)($(MODEL)/memory/grid_dims.o) \
$(ARC)($(MODEL)/micro_bin/micro_prm.o) \
$(ARC)($(MODEL)/micro/micphys.o) \
$(ARC)($(MODEL)/kpp/kpp_params.o) \
$(ARC)($(MODEL)/io/io_params.o) \
$(ARC)($(MODEL)/core/ref_sounding.o) \
$(ARC)($(MODEL)/memory/var_tables.o) \
$(ARC)($(MODEL)/memory/mem_radiate.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/mo_rte_kind.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/mo_rte_util_array.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/kernels/mo_rte_solver_kernels.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/kernels/mo_optical_props_kernels.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/kernels/mo_fluxes_broadband_kernels.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/mo_rte_config.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/mo_optical_props.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/mo_source_functions.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/mo_fluxes.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/mo_rte_lw.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rte/mo_rte_sw.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rrtmgp/kernels/mo_gas_optics_kernels.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rrtmgp/mo_rrtmgp_util_string.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rrtmgp/mo_rrtmgp_constants.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rrtmgp/mo_gas_concentrations.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rrtmgp/mo_gas_optics.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/rrtmgp/mo_gas_optics_rrtmgp.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/interface/mo_simple_netcdf.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/extensions/cloud_optics/mo_cloud_optics.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/extensions/aerosol_optics/mo_aerosol_optics.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/interface/mo_load_coefficients.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/interface/mo_load_cloud_coefficients.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/interface/mo_load_aerosol_coefficients.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/extensions/mo_heating_rates.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/interface/rte_rrtmgp_rams.o) \
$(ARC)($(MODEL)/radiate/rte-rrtmgp/interface/rams_rrtmgp_driver.o) \
$(ARC)($(MODEL)/core/ref_sounding.o) \
$(ARC)($(MODEL)/memory/mem_basic.o) \
$(ARC)($(MODEL)/memory/mem_cuparm.o) \
$(ARC)($(MODEL)/memory/mem_leaf.o) \
$(ARC)($(MODEL)/memory/mem_sib.o) \
$(ARC)($(MODEL)/memory/mem_micro.o) \
$(ARC)($(MODEL)/memory/mem_radiate.o) \
$(ARC)($(MODEL)/memory/mem_tracer.o) \
$(ARC)($(MODEL)/memory/mem_scratch.o) \
$(ARC)($(MODEL)/memory/mem_turb.o) \
Expand Down Expand Up @@ -129,13 +164,27 @@ OBJ = $(ARC)($(MODEL)/lib/an_header.o) \
$(ARC)($(MODEL)/nesting/nest_drivers.o) \
$(ARC)($(MODEL)/nesting/nest_intrp.o) \
$(ARC)($(MODEL)/nesting/nest_feed.o) \
$(ARC)($(MODEL)/radiate/bugsrad/kinds.o) \
$(ARC)($(MODEL)/radiate/rrad3.o) \
$(ARC)($(MODEL)/radiate/rad_driv.o) \
$(ARC)($(MODEL)/radiate/rad_aero.o) \
$(ARC)($(MODEL)/radiate/rad_mclat.o) \
$(ARC)($(MODEL)/radiate/rad_ccmp.o) \
$(ARC)($(MODEL)/radiate/rad_stable.o) \
$(ARC)($(MODEL)/radiate/rrad2.o) \
$(ARC)($(MODEL)/radiate/bugsrad/bugsrad_physconst.o) \
$(ARC)($(MODEL)/radiate/bugsrad/bugsrad_planck.o) \
$(ARC)($(MODEL)/radiate/bugsrad/cloud_correlate.o) \
$(ARC)($(MODEL)/radiate/bugsrad/continuum.o) \
$(ARC)($(MODEL)/radiate/bugsrad/gases_ckd.o) \
$(ARC)($(MODEL)/radiate/bugsrad/newexp.o) \
$(ARC)($(MODEL)/radiate/bugsrad/rayle.o) \
$(ARC)($(MODEL)/radiate/bugsrad/two_rt_lw_ocastrndm.o) \
$(ARC)($(MODEL)/radiate/bugsrad/two_rt_sw_ocastrndm.o) \
$(ARC)($(MODEL)/radiate/bugsrad/bandsolve.o) \
$(ARC)($(MODEL)/radiate/bugsrad/bugs_rad.o) \
$(ARC)($(MODEL)/radiate/bugsrad/bugs_files.o) \
$(ARC)($(MODEL)/radiate/bugsrad/driver_read.o) \
$(ARC)($(MODEL)/init/data_init.o) \
$(ARC)($(MODEL)/micro/mic_aero.o) \
$(ARC)($(MODEL)/micro/mic_chknan.o) \
Expand Down Expand Up @@ -233,7 +282,8 @@ $(MAIN): FORCE
@echo ""
$(F_CD2) $@

$(ARC): $(OBJ)
$(ARC): $(OBJ1)


FORCE:

Expand All @@ -245,3 +295,4 @@ clean:
@echo ""
rm -f $(ARC) $(EXE) $(BASE) *.o *.mod *.f
@echo ""

Loading