From c8c97129b59c32d724a82d5fd71687fa651bc121 Mon Sep 17 00:00:00 2001 From: alejandrobodas Date: Sun, 27 Jul 2025 19:34:36 +0300 Subject: [PATCH 1/4] Switch off cloudsat precip occurence diagnostics for test on model levels. --- ...cosp2_output_nl.um_global_model_levels.txt | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/driver/run/cosp2_output_nl.um_global_model_levels.txt b/driver/run/cosp2_output_nl.um_global_model_levels.txt index 76a6400c51..ce8ab5a60e 100755 --- a/driver/run/cosp2_output_nl.um_global_model_levels.txt +++ b/driver/run/cosp2_output_nl.um_global_model_levels.txt @@ -135,17 +135,17 @@ !- RTTOV Ltbrttov=.false., ! -CLOUDSAT precipitation frequency/occurence diagnostics - Lptradarflag0=.true., - Lptradarflag1=.true., - Lptradarflag2=.true., - Lptradarflag3=.true., - Lptradarflag4=.true., - Lptradarflag5=.true., - Lptradarflag6=.true., - Lptradarflag7=.true., - Lptradarflag8=.true., - Lptradarflag9=.true., - Lradarpia=.true., + Lptradarflag0=.false., + Lptradarflag1=.false., + Lptradarflag2=.false., + Lptradarflag3=.false., + Lptradarflag4=.false., + Lptradarflag5=.false., + Lptradarflag6=.false., + Lptradarflag7=.false., + Lptradarflag8=.false., + Lptradarflag9=.false., + Lradarpia=.false., !- CloudSat+MODIS joint diagnostics Lwr_occfreq=.true., Lcfodd=.true. From bb73219878df94a9582f23153468cfa258de32c8 Mon Sep 17 00:00:00 2001 From: alejandrobodas Date: Sun, 27 Jul 2025 20:11:03 +0300 Subject: [PATCH 2/4] Update gfortran KGOs to v005. No cloudsat precip frequency for model level test. --- .github/workflows/continuous_integration.yml | 2 +- .../UKMO/cosp2_output.um_global.gfortran.kgo.v005.nc.md5 | 1 + ...output.um_global_model_levels.gfortran.kgo.v005.nc.md5 | 1 + .../outputs/UKMO/cosp2_output_um.gfortran.kgo.v005.nc.md5 | 1 + driver/download_test_data.sh | 8 ++++---- 5 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 driver/data/outputs/UKMO/cosp2_output.um_global.gfortran.kgo.v005.nc.md5 create mode 100644 driver/data/outputs/UKMO/cosp2_output.um_global_model_levels.gfortran.kgo.v005.nc.md5 create mode 100644 driver/data/outputs/UKMO/cosp2_output_um.gfortran.kgo.v005.nc.md5 diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 1e210fc189..a5fef1c1c1 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -41,7 +41,7 @@ jobs: python-version: [3.11] include: - compiler_short_name: gfortran - - kgo_version: v004 + - kgo_version: v005 defaults: run: shell: bash -el {0} diff --git a/driver/data/outputs/UKMO/cosp2_output.um_global.gfortran.kgo.v005.nc.md5 b/driver/data/outputs/UKMO/cosp2_output.um_global.gfortran.kgo.v005.nc.md5 new file mode 100644 index 0000000000..d49c13c21c --- /dev/null +++ b/driver/data/outputs/UKMO/cosp2_output.um_global.gfortran.kgo.v005.nc.md5 @@ -0,0 +1 @@ +83c3d91b0c451ccfce9e8742a9e45d59 cosp2_output.um_global.gfortran.kgo.v005.nc diff --git a/driver/data/outputs/UKMO/cosp2_output.um_global_model_levels.gfortran.kgo.v005.nc.md5 b/driver/data/outputs/UKMO/cosp2_output.um_global_model_levels.gfortran.kgo.v005.nc.md5 new file mode 100644 index 0000000000..939ecf6629 --- /dev/null +++ b/driver/data/outputs/UKMO/cosp2_output.um_global_model_levels.gfortran.kgo.v005.nc.md5 @@ -0,0 +1 @@ +ddb2ff79094fbf5323f951a6eb0b7d39 cosp2_output.um_global_model_levels.gfortran.kgo.v005.nc diff --git a/driver/data/outputs/UKMO/cosp2_output_um.gfortran.kgo.v005.nc.md5 b/driver/data/outputs/UKMO/cosp2_output_um.gfortran.kgo.v005.nc.md5 new file mode 100644 index 0000000000..d8ae85aa9a --- /dev/null +++ b/driver/data/outputs/UKMO/cosp2_output_um.gfortran.kgo.v005.nc.md5 @@ -0,0 +1 @@ +76b8b0c8ba0859782a1b53feecc2a0c9 cosp2_output_um.gfortran.kgo.v005.nc diff --git a/driver/download_test_data.sh b/driver/download_test_data.sh index c87139d42e..930af45f37 100755 --- a/driver/download_test_data.sh +++ b/driver/download_test_data.sh @@ -5,10 +5,10 @@ COMPILER=$1 case $COMPILER in "gfortran") - KGO_VERSION=v004 - kgo_links=( "https://docs.google.com/uc?export=download&id=1kC9RViPBdAsGcOivpYXxs3hHJ11Kv8IN" \ - "https://docs.google.com/uc?export=download&id=1X_oOzvY2lf-kyAR-D1E6JfuefkGg1idn" \ - "https://docs.google.com/uc?export=download&id=1c14qBf9VwYJWYVGCu-Cw35F-qqHx0mSg" ) + KGO_VERSION=v005 + kgo_links=( "https://docs.google.com/uc?export=download&id=15_oNojYM_QCjwA0kj2Ve4HDxy9H4m91J" \ + "https://docs.google.com/uc?export=download&id=1fzFzXzLcYajfEmYmSj3Txw3d9gNGXFLe" \ + "https://docs.google.com/uc?export=download&id=1F45ty8ZtuUvBSBS-hESq6avEugHzYeBa" ) out_type=( "cosp2_output_um.${COMPILER}.kgo" \ "cosp2_output.um_global.${COMPILER}.kgo" \ "cosp2_output.um_global_model_levels.${COMPILER}.kgo" ) From 1afc4ec6a9aab5d0194c0737f7b05ee14f49a957 Mon Sep 17 00:00:00 2001 From: alejandrobodas Date: Sun, 27 Jul 2025 20:27:46 +0300 Subject: [PATCH 3/4] Update links to gfortran v005 KGOs. --- driver/download_test_data.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/driver/download_test_data.sh b/driver/download_test_data.sh index 930af45f37..5c5e11e784 100755 --- a/driver/download_test_data.sh +++ b/driver/download_test_data.sh @@ -6,9 +6,9 @@ case $COMPILER in "gfortran") KGO_VERSION=v005 - kgo_links=( "https://docs.google.com/uc?export=download&id=15_oNojYM_QCjwA0kj2Ve4HDxy9H4m91J" \ - "https://docs.google.com/uc?export=download&id=1fzFzXzLcYajfEmYmSj3Txw3d9gNGXFLe" \ - "https://docs.google.com/uc?export=download&id=1F45ty8ZtuUvBSBS-hESq6avEugHzYeBa" ) + kgo_links=( "https://docs.google.com/uc?export=download&id=1olgrWzCSpFyPdimFnRfeFxkq5SoIfPDv" \ + "https://docs.google.com/uc?export=download&id=1B9Too1KSfT7fcWKJj2OeR7cytk56eZO2" \ + "https://docs.google.com/uc?export=download&id=1ddBYJsdRXy4z7kLrhRq54KvtuO6AjnTq" ) out_type=( "cosp2_output_um.${COMPILER}.kgo" \ "cosp2_output.um_global.${COMPILER}.kgo" \ "cosp2_output.um_global_model_levels.${COMPILER}.kgo" ) From 078bbf6b6f06fcb9e2ed491790a18ab24cef0432 Mon Sep 17 00:00:00 2001 From: alejandrobodas Date: Sun, 27 Jul 2025 20:51:34 +0300 Subject: [PATCH 4/4] Cloudsat precip occurency bugfix for output on model levels. --- driver/src/cosp2_test.f90 | 27 ++++++++++++++++++++------- src/simulator/quickbeam/quickbeam.F90 | 2 ++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/driver/src/cosp2_test.f90 b/driver/src/cosp2_test.f90 index 0069fa42e3..cb29cc1b9f 100755 --- a/driver/src/cosp2_test.f90 +++ b/driver/src/cosp2_test.f90 @@ -423,7 +423,7 @@ program cosp2_test Ltbrttov, Lptradarflag0,Lptradarflag1,Lptradarflag2,Lptradarflag3,Lptradarflag4, & Lptradarflag5,Lptradarflag6,Lptradarflag7,Lptradarflag8,Lptradarflag9,Lradarpia, & Lwr_occfreq, Lcfodd, & - Npoints, Ncolumns, Nlevels, Nlvgrid_local, rttov_Nchannels, cospOUT) + Npoints, Ncolumns, Nlevels, Nlvgrid_local, rttov_Nchannels, use_vgrid, cospOUT) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Break COSP up into pieces and loop over each COSP 'chunk'. @@ -1059,7 +1059,7 @@ subroutine construct_cosp_outputs(Lpctisccp,Lclisccp,& Lptradarflag3,Lptradarflag4,Lptradarflag5, & Lptradarflag6,Lptradarflag7,Lptradarflag8, & Lptradarflag9,Lradarpia,Lwr_occfreq,Lcfodd, & - Npoints,Ncolumns,Nlevels,Nlvgrid,Nchan,x) + Npoints,Ncolumns,Nlevels,Nlvgrid,Nchan,use_vgrid,x) ! Inputs logical,intent(in) :: & Lpctisccp, & ! ISCCP mean cloud top pressure @@ -1169,7 +1169,8 @@ subroutine construct_cosp_outputs(Lpctisccp,Lclisccp,& Lptradarflag9, & ! CLOUDSAT Lradarpia, & ! CLOUDSAT Lwr_occfreq, & ! CloudSat+MODIS joint diagnostics - Lcfodd ! CloudSat+MODIS joint diagnostics + Lcfodd, & ! CloudSat+MODIS joint diagnostics + use_vgrid integer,intent(in) :: & Npoints, & ! Number of sampled points @@ -1318,11 +1319,23 @@ subroutine construct_cosp_outputs(Lpctisccp,Lclisccp,& if (Ldbze94) allocate(x%cloudsat_Ze_tot(Npoints,Ncolumns,Nlevels)) if (LcfadDbze94) allocate(x%cloudsat_cfad_ze(Npoints,cloudsat_DBZE_BINS,Nlvgrid)) if (Lptradarflag0 .or. Lptradarflag1 .or. Lptradarflag2 .or. Lptradarflag3 .or. & - Lptradarflag4 .or. Lptradarflag5 .or. Lptradarflag6 .or. Lptradarflag7 .or. & - Lptradarflag8 .or. Lptradarflag9) then - allocate(x%cloudsat_precip_cover(Npoints,cloudsat_DBZE_BINS)) + Lptradarflag4 .or. Lptradarflag5 .or. Lptradarflag6 .or. Lptradarflag7 .or. & + Lptradarflag8 .or. Lptradarflag9) then + if (use_vgrid) then + allocate(x%cloudsat_precip_cover(Npoints,cloudsat_DBZE_BINS)) + else + print*,'WARNING: CLOUDSAT Precipitation occurrence diagnostics not available when use_vgrid=FALSE.' + print*,'WARNING: Turning CLOUDSAT Precipitation occurrence diagnostcs OFF' + endif + endif + if (Lradarpia) then + if (use_vgrid) then + allocate(x%cloudsat_pia(Npoints)) + else + print*,'WARNING: CLOUDSAT Precipitation occurrence diagnostics not available when use_vgrid=FALSE.' + print*,'WARNING: Turning CLOUDSAT Precipitation occurrence diagnostcs OFF' + endif endif - if (Lradarpia) allocate(x%cloudsat_pia(Npoints)) ! Combined CALIPSO/CLOUDSAT fields if (Lclcalipso2) allocate(x%lidar_only_freq_cloud(Npoints,Nlvgrid)) diff --git a/src/simulator/quickbeam/quickbeam.F90 b/src/simulator/quickbeam/quickbeam.F90 index 84890834e0..6e92863846 100644 --- a/src/simulator/quickbeam/quickbeam.F90 +++ b/src/simulator/quickbeam/quickbeam.F90 @@ -264,6 +264,8 @@ subroutine quickbeam_column(npoints, ncolumns, nlevels, llm, DBZE_BINS, platform ! Create Cloudsat diagnostics. if (lcloudsat) then + cloudsat_precip_cover = 0._wp + cloudsat_pia = 0._wp if (use_vgrid) then ! Regrid in the vertical (*NOTE* This routine requires SFC-2-TOA ordering, so flip ! inputs and outputs to maintain TOA-2-SFC ordering convention in COSP2.)