From ec12cada13ef447a64aed3fd87bc4e403736623e Mon Sep 17 00:00:00 2001 From: Ed Safford <62339196+EdwardSafford-NOAA@users.noreply.github.com> Date: Wed, 15 Jan 2025 10:21:32 -0500 Subject: [PATCH] Modify RadMon plotting to change regional periods (#152) * Ref #128 Fix regional angle & time file generation, generalize all file writes. * Ref #128 Rm diagnostic output. * Ref #128 Add changes to image gen to support regional 24 cyc/day. * Ref #128 Rm block on file cleanup (used testing purposes), clarify code comments. --- .../image_gen/html/index.html.glb | 15 - .../src/radmon_ig_angle.fd/angle.f90 | 356 ++++++++---------- .../src/radmon_ig_summary.fd/summary.f90 | 19 +- .../image_gen/src/radmon_ig_time.fd/time.f90 | 179 +++------ .../image_gen/ush/mk_digital_ang.sh | 4 +- 5 files changed, 229 insertions(+), 344 deletions(-) diff --git a/src/Radiance_Monitor/image_gen/html/index.html.glb b/src/Radiance_Monitor/image_gen/html/index.html.glb index 1ee84c96..acc9dedc 100755 --- a/src/Radiance_Monitor/image_gen/html/index.html.glb +++ b/src/Radiance_Monitor/image_gen/html/index.html.glb @@ -160,21 +160,6 @@ } } - /*function ltoggle(id) { - var el = document.getElementById(id); - var img = document.getElementById("arrow"); - var box = el.getAttribute("class"); - if(box == "lhide"){ - el.setAttribute("class", "lshow"); - delay(img, "./pngs/arrowleft.png", 400); - } - else{ - el.setAttribute("class", "lhide"); - delay(img, "./pngs/arrowright.png", 400); - } - } */ - - //--------------------------------------- // function delay diff --git a/src/Radiance_Monitor/image_gen/src/radmon_ig_angle.fd/angle.f90 b/src/Radiance_Monitor/image_gen/src/radmon_ig_angle.fd/angle.f90 index e7f35f51..3235678f 100755 --- a/src/Radiance_Monitor/image_gen/src/radmon_ig_angle.fd/angle.f90 +++ b/src/Radiance_Monitor/image_gen/src/radmon_ig_angle.fd/angle.f90 @@ -34,7 +34,7 @@ program angle implicit none integer ftyp,cyc,chan,open_status,prd - integer d1, d7, d30, ctr + integer d1, d5_7, dmax, ctr, ndays integer ges, anl, avg, sdv logical exist @@ -79,7 +79,7 @@ program angle real,allocatable,dimension(:,:,:,:,:):: ttl_sin, ttl_emiss, ttl_ordang4 real,allocatable,dimension(:,:,:,:,:):: ttl_ordang3, ttl_ordang2, ttl_ordang1 - ! arrays for d1, d7, and d30 values, which are written to data files + ! arrays for d1, d5_7, and dmax values, which are written to data files real,allocatable,dimension(:,:,:,:,:) :: count, penalty real,allocatable,dimension(:,:,:,:,:,:) :: omg_nbc, tot_cor, omg_bc real,allocatable,dimension(:,:,:,:,:,:) :: fixang, lapse, lapse2 @@ -105,8 +105,9 @@ program angle real :: scan_stepsz = 1.00 integer :: scan_nstep = 90 integer :: nregion = 5 + integer :: cyc_per_day = 4 namelist /input/ satname, nchanl, ncycle, scan_start, & - scan_stepsz, scan_nstep, nregion + scan_stepsz, scan_nstep, nregion, cyc_per_day !************************************************************************ @@ -221,10 +222,6 @@ program angle allocate ( ordang2 (2,3,nstep,nchanl,nregion,2) ) allocate ( ordang1 (2,3,nstep,nchanl,nregion,2) ) - do rgn=1,nregion - write(6,*) 'rgn = ', rgn - end do - !-------------------- ! initialize arrays !-------------------- @@ -439,11 +436,29 @@ program angle ! to see more. !************************************************************************ -! Process data for the 3 time periods (d1, d7, d30) +! Process data for the 3 time periods (d1, d5_7, dmax) (global sources) +! +! Note: When cyc_per_day == 24 (rgn sources) the 2nd period (d5_7) will +! actually only be 5 days (120 cycles). It will usually be the +! same as dmax, which is set to ncycles. Regional plots only +! include the d1 and d5, but I'm keeping the dmax value in the +! output file because global sources still use it and I don't +! want to create a difference in file format. !************************************************************************ - d1 =4 - d7 =28 - d30 = ncycle + d1 = cyc_per_day + + if ( cyc_per_day == 24 ) then + ndays = 5 + else + ndays = 7 + end if + + d5_7 = cyc_per_day * ndays + if ( d5_7 > ncycle ) then + d5_7 = ncycle + end if + + dmax = ncycle do ftyp=1,2 do chan=1,nchanl @@ -612,9 +627,9 @@ program angle ordang1(ftyp,1,astep,chan,rgn,2), rmiss ) end if - else if( cyc == d7 ) then + else if( cyc == d5_7 ) then if( ttl_cnt(ftyp,astep,chan,rgn) > 0.00 ) then - count(ftyp,2,astep,chan,rgn) = ttl_cnt(ftyp,astep,chan,rgn)/d7 + count(ftyp,2,astep,chan,rgn) = ttl_cnt(ftyp,astep,chan,rgn)/d5_7 penalty(ftyp,2,astep,chan,rgn) = ttl_pen(ftyp,astep,chan,rgn) / & ttl_cnt(ftyp,astep,chan,rgn) @@ -711,9 +726,9 @@ program angle ordang1(ftyp,2,astep,chan,rgn,2), rmiss ) end if - else if( cyc == d30 ) then + else if( cyc == dmax ) then if( ttl_cnt(ftyp,astep,chan,rgn) > 0.00 ) then - count(ftyp,3,astep,chan,rgn) = ttl_cnt(ftyp,astep,chan,rgn)/d30 + count(ftyp,3,astep,chan,rgn) = ttl_cnt(ftyp,astep,chan,rgn)/dmax penalty(ftyp,3,astep,chan,rgn) = ttl_pen(ftyp,astep,chan,rgn) / & ttl_cnt(ftyp,astep,chan,rgn) @@ -1452,10 +1467,8 @@ program angle !********************************** ! write results to time.txt files !********************************** - 82 FORMAT(A10,',',A10,',',F12.6,',',F12.6,',',F12.6,',',F12.6,',',F12.6,',' & - ,F12.6,',',F12.6,',',F12.6,',',F12.6,',',F12.6,',' & - ,F12.6,',',F12.6,',',F12.6,',',F12.6,',',F12.6,',' & - ,F12.6,',',F12.6,',',F12.6,',',F12.6,',',F12.6,',') + 83 FORMAT(A10,',',A10,',') + 84 FORMAT(F12.6,',') do chan=1,nchanl @@ -1501,31 +1514,22 @@ program angle ! fixang data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges fixang rgn 1, avg ges fixang rgn 2, avg ges fixang rgn 3, - ! avg ges fixang rgn 4, avg ges fixang rgn 5, avg anl fixang rgn 1, - ! avg anl fixang rgn 2, avg anl fixang rgn 3, avg anl fixang rgn 4, - ! avg anl fixang rgn 5, - ! sdv ges fixang rgn 1, sdv ges fixang rgn 2, sdv ges fixang rgn 3, - ! sdv ges fixang rgn 4, sdv ges fixang rgn 5, sdv anl fixang rgn 1, - ! sdv anl fixang rgn 2, sdv anl fixang rgn 3, sdv anl fixang rgn 4, - ! sdv anl fixang rgn 5 + ! avg ges fixang rgn 1-n, avg anl fixang rgn 1-n, + ! sdv ges fixang rgn 1-n, sdv anl fixang rgn 1-n ! open(lsatout,file=fixang_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' fixang_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_fixang(ges,cyc,chan,1,avg), t_fixang(ges,cyc,chan,2,avg), & - t_fixang(ges,cyc,chan,3,avg), t_fixang(ges,cyc,chan,4,avg), & - t_fixang(ges,cyc,chan,5,avg), t_fixang(anl,cyc,chan,1,avg), & - t_fixang(anl,cyc,chan,2,avg), t_fixang(anl,cyc,chan,3,avg), & - t_fixang(anl,cyc,chan,4,avg), t_fixang(anl,cyc,chan,5,avg), & - t_fixang(ges,cyc,chan,1,sdv), t_fixang(anl,cyc,chan,2,sdv), & - t_fixang(ges,cyc,chan,3,sdv), t_fixang(anl,cyc,chan,4,sdv), & - t_fixang(ges,cyc,chan,5,sdv), t_fixang(ges,cyc,chan,1,sdv), & - t_fixang(ges,cyc,chan,2,sdv), t_fixang(ges,cyc,chan,3,sdv), & - t_fixang(ges,cyc,chan,4,sdv), t_fixang(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_fixang(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_fixang(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_fixang(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_fixang(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1533,25 +1537,22 @@ program angle ! lapse data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges lapse rgn 1-5, avg anl lapse rgn 1-5 - ! sdv ges lapse rgn 1-5, sdv anl lapse rgn 1-5 + ! avg ges lapse rgn 1-n, avg anl lapse rgn 1-n + ! sdv ges lapse rgn 1-n, sdv anl lapse rgn 1-n ! open(lsatout,file=lapse_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' lapse_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_lapse(ges,cyc,chan,1,avg), t_lapse(ges,cyc,chan,2,avg), & - t_lapse(ges,cyc,chan,3,avg), t_lapse(ges,cyc,chan,4,avg), & - t_lapse(ges,cyc,chan,5,avg), t_lapse(anl,cyc,chan,1,avg), & - t_lapse(anl,cyc,chan,2,avg), t_lapse(anl,cyc,chan,3,avg), & - t_lapse(anl,cyc,chan,4,avg), t_lapse(anl,cyc,chan,5,avg), & - t_lapse(ges,cyc,chan,1,sdv), t_lapse(anl,cyc,chan,2,sdv), & - t_lapse(ges,cyc,chan,3,sdv), t_lapse(anl,cyc,chan,4,sdv), & - t_lapse(ges,cyc,chan,5,sdv), t_lapse(ges,cyc,chan,1,sdv), & - t_lapse(ges,cyc,chan,2,sdv), t_lapse(ges,cyc,chan,3,sdv), & - t_lapse(ges,cyc,chan,4,sdv), t_lapse(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_lapse(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_lapse(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_lapse(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_lapse(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1560,25 +1561,22 @@ program angle ! lapse2 data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges lapse2 rgn 1-5, avg anl lapse2 rgn 1-5 - ! sdv ges lapse2 rgn 1-5, sdv anl lapse2 rgn 1-5 + ! avg ges lapse2 rgn 1-n, avg anl lapse2 rgn 1-n + ! sdv ges lapse2 rgn 1-n, sdv anl lapse2 rgn 1-n ! open(lsatout,file=lapse2_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' lapse2_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_lapse2(ges,cyc,chan,1,avg), t_lapse2(ges,cyc,chan,2,avg), & - t_lapse2(ges,cyc,chan,3,avg), t_lapse2(ges,cyc,chan,4,avg), & - t_lapse2(ges,cyc,chan,5,avg), t_lapse2(anl,cyc,chan,1,avg), & - t_lapse2(anl,cyc,chan,2,avg), t_lapse2(anl,cyc,chan,3,avg), & - t_lapse2(anl,cyc,chan,4,avg), t_lapse2(anl,cyc,chan,5,avg), & - t_lapse2(ges,cyc,chan,1,sdv), t_lapse2(anl,cyc,chan,2,sdv), & - t_lapse2(ges,cyc,chan,3,sdv), t_lapse2(anl,cyc,chan,4,sdv), & - t_lapse2(ges,cyc,chan,5,sdv), t_lapse2(ges,cyc,chan,1,sdv), & - t_lapse2(ges,cyc,chan,2,sdv), t_lapse2(ges,cyc,chan,3,sdv), & - t_lapse2(ges,cyc,chan,4,sdv), t_lapse2(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_lapse2(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_lapse2(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_lapse2(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_lapse2(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1586,25 +1584,22 @@ program angle ! mean data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges mean rgn 1-5, avg anl mean rgn 1-5 - ! sdv ges mean rgn 1-5, sdv anl mean rgn 1-5 + ! avg ges mean rgn 1-n, avg anl mean rgn 1-n + ! sdv ges mean rgn 1-n, sdv anl mean rgn 1-n ! open(lsatout,file=mean_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' mean_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_mean(ges,cyc,chan,1,avg), t_mean(ges,cyc,chan,2,avg), & - t_mean(ges,cyc,chan,3,avg), t_mean(ges,cyc,chan,4,avg), & - t_mean(ges,cyc,chan,5,avg), t_mean(anl,cyc,chan,1,avg), & - t_mean(anl,cyc,chan,2,avg), t_mean(anl,cyc,chan,3,avg), & - t_mean(anl,cyc,chan,4,avg), t_mean(anl,cyc,chan,5,avg), & - t_mean(ges,cyc,chan,1,sdv), t_mean(anl,cyc,chan,2,sdv), & - t_mean(ges,cyc,chan,3,sdv), t_mean(anl,cyc,chan,4,sdv), & - t_mean(ges,cyc,chan,5,sdv), t_mean(ges,cyc,chan,1,sdv), & - t_mean(ges,cyc,chan,2,sdv), t_mean(ges,cyc,chan,3,sdv), & - t_mean(ges,cyc,chan,4,sdv), t_mean(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_mean(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_mean(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_mean(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_mean(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1613,25 +1608,22 @@ program angle ! scangl data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges scangl rgn 1-5, avg anl scangl rgn 1-5 - ! sdv ges scangl rgn 1-5, sdv anl scangl rgn 1-5 + ! avg ges scangl rgn 1-n, avg anl scangl rgn 1-n + ! sdv ges scangl rgn 1-n, sdv anl scangl rgn 1-n ! open(lsatout,file=scangl_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' scangl_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_scangl(ges,cyc,chan,1,avg), t_scangl(ges,cyc,chan,2,avg), & - t_scangl(ges,cyc,chan,3,avg), t_scangl(ges,cyc,chan,4,avg), & - t_scangl(ges,cyc,chan,5,avg), t_scangl(anl,cyc,chan,1,avg), & - t_scangl(anl,cyc,chan,2,avg), t_scangl(anl,cyc,chan,3,avg), & - t_scangl(anl,cyc,chan,4,avg), t_scangl(anl,cyc,chan,5,avg), & - t_scangl(ges,cyc,chan,1,sdv), t_scangl(anl,cyc,chan,2,sdv), & - t_scangl(ges,cyc,chan,3,sdv), t_scangl(anl,cyc,chan,4,sdv), & - t_scangl(ges,cyc,chan,5,sdv), t_scangl(ges,cyc,chan,1,sdv), & - t_scangl(ges,cyc,chan,2,sdv), t_scangl(ges,cyc,chan,3,sdv), & - t_scangl(ges,cyc,chan,4,sdv), t_scangl(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_scangl(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_scangl(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_scangl(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_scangl(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1640,25 +1632,22 @@ program angle ! clw data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges clw rgn 1-5, avg anl clw rgn 1-5 - ! sdv ges clw rgn 1-5, sdv anl clw rgn 1-5 + ! avg ges clw rgn 1-n, avg anl clw rgn 1-n + ! sdv ges clw rgn 1-n, sdv anl clw rgn 1-n ! open(lsatout,file=clw_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' clw_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_clw(ges,cyc,chan,1,avg), t_clw(ges,cyc,chan,2,avg), & - t_clw(ges,cyc,chan,3,avg), t_clw(ges,cyc,chan,4,avg), & - t_clw(ges,cyc,chan,5,avg), t_clw(anl,cyc,chan,1,avg), & - t_clw(anl,cyc,chan,2,avg), t_clw(anl,cyc,chan,3,avg), & - t_clw(anl,cyc,chan,4,avg), t_clw(anl,cyc,chan,5,avg), & - t_clw(ges,cyc,chan,1,sdv), t_clw(anl,cyc,chan,2,sdv), & - t_clw(ges,cyc,chan,3,sdv), t_clw(anl,cyc,chan,4,sdv), & - t_clw(ges,cyc,chan,5,sdv), t_clw(ges,cyc,chan,1,sdv), & - t_clw(ges,cyc,chan,2,sdv), t_clw(ges,cyc,chan,3,sdv), & - t_clw(ges,cyc,chan,4,sdv), t_clw(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_clw(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_clw(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_clw(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_clw(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1667,25 +1656,22 @@ program angle ! cos data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges cos rgn 1-5, avg anl cos rgn 1-5 - ! sdv ges cos rgn 1-5, sdv anl cos rgn 1-5 + ! avg ges cos rgn 1-n, avg anl cos rgn 1-n + ! sdv ges cos rgn 1-n, sdv anl cos rgn 1-n ! open(lsatout,file=cos_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' cos_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_cos(ges,cyc,chan,1,avg), t_cos(ges,cyc,chan,2,avg), & - t_cos(ges,cyc,chan,3,avg), t_cos(ges,cyc,chan,4,avg), & - t_cos(ges,cyc,chan,5,avg), t_cos(anl,cyc,chan,1,avg), & - t_cos(anl,cyc,chan,2,avg), t_cos(anl,cyc,chan,3,avg), & - t_cos(anl,cyc,chan,4,avg), t_cos(anl,cyc,chan,5,avg), & - t_cos(ges,cyc,chan,1,sdv), t_cos(anl,cyc,chan,2,sdv), & - t_cos(ges,cyc,chan,3,sdv), t_cos(anl,cyc,chan,4,sdv), & - t_cos(ges,cyc,chan,5,sdv), t_cos(ges,cyc,chan,1,sdv), & - t_cos(ges,cyc,chan,2,sdv), t_cos(ges,cyc,chan,3,sdv), & - t_cos(ges,cyc,chan,4,sdv), t_cos(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_cos(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_cos(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_cos(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_cos(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1694,25 +1680,22 @@ program angle ! sin data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges sin rgn 1-5, avg anl sin rgn 1-5 - ! sdv ges sin rgn 1-5, sdv anl sin rgn 1-5 + ! avg ges sin rgn 1-n, avg anl sin rgn 1-n + ! sdv ges sin rgn 1-n, sdv anl sin rgn 1-n ! open(lsatout,file=sin_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' sin_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_sin(ges,cyc,chan,1,avg), t_sin(ges,cyc,chan,2,avg), & - t_sin(ges,cyc,chan,3,avg), t_sin(ges,cyc,chan,4,avg), & - t_sin(ges,cyc,chan,5,avg), t_sin(anl,cyc,chan,1,avg), & - t_sin(anl,cyc,chan,2,avg), t_sin(anl,cyc,chan,3,avg), & - t_sin(anl,cyc,chan,4,avg), t_sin(anl,cyc,chan,5,avg), & - t_sin(ges,cyc,chan,1,sdv), t_sin(anl,cyc,chan,2,sdv), & - t_sin(ges,cyc,chan,3,sdv), t_sin(anl,cyc,chan,4,sdv), & - t_sin(ges,cyc,chan,5,sdv), t_sin(ges,cyc,chan,1,sdv), & - t_sin(ges,cyc,chan,2,sdv), t_sin(ges,cyc,chan,3,sdv), & - t_sin(ges,cyc,chan,4,sdv), t_sin(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_sin(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_sin(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_sin(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_sin(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1721,25 +1704,22 @@ program angle ! emiss data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges emiss rgn 1-5, avg anl emiss rgn 1-5 - ! sdv ges emiss rgn 1-5, sdv anl emiss rgn 1-5 + ! avg ges emiss rgn 1-n, avg anl emiss rgn 1-n + ! sdv ges emiss rgn 1-n, sdv anl emiss rgn 1-n ! open(lsatout,file=emiss_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' emiss_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_emiss(ges,cyc,chan,1,avg), t_emiss(ges,cyc,chan,2,avg), & - t_emiss(ges,cyc,chan,3,avg), t_emiss(ges,cyc,chan,4,avg), & - t_emiss(ges,cyc,chan,5,avg), t_emiss(anl,cyc,chan,1,avg), & - t_emiss(anl,cyc,chan,2,avg), t_emiss(anl,cyc,chan,3,avg), & - t_emiss(anl,cyc,chan,4,avg), t_emiss(anl,cyc,chan,5,avg), & - t_emiss(ges,cyc,chan,1,sdv), t_emiss(anl,cyc,chan,2,sdv), & - t_emiss(ges,cyc,chan,3,sdv), t_emiss(anl,cyc,chan,4,sdv), & - t_emiss(ges,cyc,chan,5,sdv), t_emiss(ges,cyc,chan,1,sdv), & - t_emiss(ges,cyc,chan,2,sdv), t_emiss(ges,cyc,chan,3,sdv), & - t_emiss(ges,cyc,chan,4,sdv), t_emiss(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_emiss(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_emiss(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_emiss(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_emiss(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1748,25 +1728,22 @@ program angle ! ordang4 data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges ordang4 rgn 1-5, avg anl ordang4 rgn 1-5 - ! sdv ges ordang4 rgn 1-5, sdv anl ordang4 rgn 1-5 + ! avg ges ordang4 rgn 1-n, avg anl ordang4 rgn 1-n + ! sdv ges ordang4 rgn 1-n, sdv anl ordang4 rgn 1-n ! open(lsatout,file=ordang4_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' ordang4_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_ordang4(ges,cyc,chan,1,avg), t_ordang4(ges,cyc,chan,2,avg), & - t_ordang4(ges,cyc,chan,3,avg), t_ordang4(ges,cyc,chan,4,avg), & - t_ordang4(ges,cyc,chan,5,avg), t_ordang4(anl,cyc,chan,1,avg), & - t_ordang4(anl,cyc,chan,2,avg), t_ordang4(anl,cyc,chan,3,avg), & - t_ordang4(anl,cyc,chan,4,avg), t_ordang4(anl,cyc,chan,5,avg), & - t_ordang4(ges,cyc,chan,1,sdv), t_ordang4(anl,cyc,chan,2,sdv), & - t_ordang4(ges,cyc,chan,3,sdv), t_ordang4(anl,cyc,chan,4,sdv), & - t_ordang4(ges,cyc,chan,5,sdv), t_ordang4(ges,cyc,chan,1,sdv), & - t_ordang4(ges,cyc,chan,2,sdv), t_ordang4(ges,cyc,chan,3,sdv), & - t_ordang4(ges,cyc,chan,4,sdv), t_ordang4(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang4(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang4(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang4(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang4(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1775,25 +1752,22 @@ program angle ! ordang3 data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges ordang3 rgn 1-5, avg anl ordang3 rgn 1-5 - ! sdv ges ordang3 rgn 1-5, sdv anl ordang3 rgn 1-5 + ! avg ges ordang3 rgn 1-n, avg anl ordang3 rgn 1-n + ! sdv ges ordang3 rgn 1-n, sdv anl ordang3 rgn 1-n ! open(lsatout,file=ordang3_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' ordang3_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_ordang3(ges,cyc,chan,1,avg), t_ordang3(ges,cyc,chan,2,avg), & - t_ordang3(ges,cyc,chan,3,avg), t_ordang3(ges,cyc,chan,4,avg), & - t_ordang3(ges,cyc,chan,5,avg), t_ordang3(anl,cyc,chan,1,avg), & - t_ordang3(anl,cyc,chan,2,avg), t_ordang3(anl,cyc,chan,3,avg), & - t_ordang3(anl,cyc,chan,4,avg), t_ordang3(anl,cyc,chan,5,avg), & - t_ordang3(ges,cyc,chan,1,sdv), t_ordang3(anl,cyc,chan,2,sdv), & - t_ordang3(ges,cyc,chan,3,sdv), t_ordang3(anl,cyc,chan,4,sdv), & - t_ordang3(ges,cyc,chan,5,sdv), t_ordang3(ges,cyc,chan,1,sdv), & - t_ordang3(ges,cyc,chan,2,sdv), t_ordang3(ges,cyc,chan,3,sdv), & - t_ordang3(ges,cyc,chan,4,sdv), t_ordang3(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang3(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang3(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang3(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang3(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1802,25 +1776,22 @@ program angle ! ordang2 data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges ordang2 rgn 1-5, avg anl ordang2 rgn 1-5 - ! sdv ges ordang2 rgn 1-5, sdv anl ordang2 rgn 1-5 + ! avg ges ordang2 rgn 1-n, avg anl ordang2 rgn 1-n + ! sdv ges ordang2 rgn 1-n, sdv anl ordang2 rgn 1-n ! open(lsatout,file=ordang2_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' ordang2_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_ordang2(ges,cyc,chan,1,avg), t_ordang2(ges,cyc,chan,2,avg), & - t_ordang2(ges,cyc,chan,3,avg), t_ordang2(ges,cyc,chan,4,avg), & - t_ordang2(ges,cyc,chan,5,avg), t_ordang2(anl,cyc,chan,1,avg), & - t_ordang2(anl,cyc,chan,2,avg), t_ordang2(anl,cyc,chan,3,avg), & - t_ordang2(anl,cyc,chan,4,avg), t_ordang2(anl,cyc,chan,5,avg), & - t_ordang2(ges,cyc,chan,1,sdv), t_ordang2(anl,cyc,chan,2,sdv), & - t_ordang2(ges,cyc,chan,3,sdv), t_ordang2(anl,cyc,chan,4,sdv), & - t_ordang2(ges,cyc,chan,5,sdv), t_ordang2(ges,cyc,chan,1,sdv), & - t_ordang2(ges,cyc,chan,2,sdv), t_ordang2(ges,cyc,chan,3,sdv), & - t_ordang2(ges,cyc,chan,4,sdv), t_ordang2(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang2(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang2(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang2(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang2(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -1829,25 +1800,22 @@ program angle ! ordang1 data is arranged: ! one row for each time step (cycle) consisting of: ! chan, time, - ! avg ges ordang1 rgn 1-5, avg anl ordang1 rgn 1-5 - ! sdv ges ordang1 rgn 1-5, sdv anl ordang1 rgn 1-5 + ! avg ges ordang1 rgn 1-n, avg anl ordang1 rgn 1-n + ! sdv ges ordang1 rgn 1-n, sdv anl ordang1 rgn 1-n ! open(lsatout,file=ordang1_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' ordang1_out_file opened, status: ', open_status do cyc=1,ncycle - write(lsatout,82) trim(str_nchanl), trim(times(cyc)), & - t_ordang1(ges,cyc,chan,1,avg), t_ordang1(ges,cyc,chan,2,avg), & - t_ordang1(ges,cyc,chan,3,avg), t_ordang1(ges,cyc,chan,4,avg), & - t_ordang1(ges,cyc,chan,5,avg), t_ordang1(anl,cyc,chan,1,avg), & - t_ordang1(anl,cyc,chan,2,avg), t_ordang1(anl,cyc,chan,3,avg), & - t_ordang1(anl,cyc,chan,4,avg), t_ordang1(anl,cyc,chan,5,avg), & - t_ordang1(ges,cyc,chan,1,sdv), t_ordang1(anl,cyc,chan,2,sdv), & - t_ordang1(ges,cyc,chan,3,sdv), t_ordang1(anl,cyc,chan,4,sdv), & - t_ordang1(ges,cyc,chan,5,sdv), t_ordang1(ges,cyc,chan,1,sdv), & - t_ordang1(ges,cyc,chan,2,sdv), t_ordang1(ges,cyc,chan,3,sdv), & - t_ordang1(ges,cyc,chan,4,sdv), t_ordang1(ges,cyc,chan,5,sdv) + + write(lsatout,83, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang1(ges,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang1(anl,cyc,chan,ii,avg); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang1(ges,cyc,chan,ii,sdv); end do + do ii = 1, nregion; write(lsatout,84, Advance = 'No') t_ordang1(anl,cyc,chan,ii,sdv); end do + write(lsatout, *) ! Finish record + end do close(lsatout) diff --git a/src/Radiance_Monitor/image_gen/src/radmon_ig_summary.fd/summary.f90 b/src/Radiance_Monitor/image_gen/src/radmon_ig_summary.fd/summary.f90 index e0f3091b..b8f9f460 100755 --- a/src/Radiance_Monitor/image_gen/src/radmon_ig_summary.fd/summary.f90 +++ b/src/Radiance_Monitor/image_gen/src/radmon_ig_summary.fd/summary.f90 @@ -28,6 +28,7 @@ program summary integer luname,ldname,loname,lpname integer cyc,ii,iflag,j,k,res,chan,ftyp,open_status + integer period_one logical exist @@ -219,9 +220,19 @@ program summary ! ***************************************************************************** ! Observed - ges|anl with bias correction ! omgbc, omabc -! Average and standard deviation by channel for 1 cycle and 30 days, 8 values +! +! Note: If cyc_per_day is 24, indicating a regional source, then the first +! period is not a single cycle but rather a day. +! +! Average and standard deviation by channel for 1 period and 30 days, 8 values ! total for each channel (ges & anl). ! ***************************************************************************** + if ( cyc_per_day == 24 ) then + period_one = 24 + else + period_one = 1 + end if + do ftyp=1,2 do j=1,nchanl @@ -234,7 +245,7 @@ program summary chan_omgbc = chan_omgbc + omg_bc( ftyp,cyc,j,1 ) chan_omgbc2 = chan_omgbc2 + omg_bc2( ftyp,cyc,j,1 ) - if( cyc == 1 ) then + if( cyc == period_one ) then avg_omgbc( ftyp,j,1 ) = chan_omgbc sdv_omgbc( ftyp,j,1 ) = chan_omgbc2 call avgsdv(chan_cnt, avg_omgbc( ftyp,j,1 ),sdv_omgbc( ftyp,j,1), 0.00) @@ -324,7 +335,6 @@ program summary ! format: channel, use flage, ges values cycles 1-4, anl values cycles 1-4 do j=1,nchanl -! write(loname,71) j, trim(use(j)), int(cnt(1,1,j,1)), int(cnt(1,2,j,1)), & write(loname,71) chan_nums(j), trim(use(j)), int(cnt(1,1,j,1)), int(cnt(1,2,j,1)), & int(cnt(1,3,j,1)), int(cnt(1,4,j,1)), & int(cnt(2,1,j,1)), int(cnt(2,2,j,1)), & @@ -336,7 +346,6 @@ program summary ! write tot_cor/count values to output file ! format: channel, use flage, tot_cor/cnt for 1 cycle, 4 cycles, 120 cycles do j=1,nchanl -! write(loname,72) j, trim(use(j)), & write(loname,72) chan_nums(j), trim(use(j)), & avg_tot_cor(1,j,1), avg_tot_cor(1,j,2), avg_tot_cor(1,j,3), & avg_tot_cor(2,j,1), avg_tot_cor(2,j,2), avg_tot_cor(2,j,3) @@ -360,7 +369,6 @@ program summary end if end do -! write(loname,73) j, trim(use(j)), & write(loname,73) chan_nums(j), trim(use(j)), & avg_omgbc(1,j,1), sdv_omgbc(1,j,1), avg_omgbc(1,j,2), sdv_omgbc(1,j,2), & avg_omgbc(2,j,1), sdv_omgbc(2,j,1), avg_omgbc(2,j,2), sdv_omgbc(2,j,2) @@ -372,7 +380,6 @@ program summary ! format: channel, use flage, avg_pen for 1 cycle, 4 cycles, 120 cycles ! ges values), avg_pen for 1 cycle, 4 cycles, 120 cycles (ges values) do j=1,nchanl -! write(loname,72) j, trim(use(j)), & write(loname,72) chan_nums(j), trim(use(j)), & avg_pen(1,j,1), avg_pen(1,j,2), avg_pen(1,j,3), & avg_pen(2,j,1), avg_pen(2,j,2), avg_pen(2,j,3) diff --git a/src/Radiance_Monitor/image_gen/src/radmon_ig_time.fd/time.f90 b/src/Radiance_Monitor/image_gen/src/radmon_ig_time.fd/time.f90 index e9a1321f..f782e6ea 100755 --- a/src/Radiance_Monitor/image_gen/src/radmon_ig_time.fd/time.f90 +++ b/src/Radiance_Monitor/image_gen/src/radmon_ig_time.fd/time.f90 @@ -334,23 +334,8 @@ program gatime ,F9.3,',',F9.3,',',F9.3,',',F9.3,',',F9.3,',' & ,F9.2,',',F9.2) - - 78 FORMAT(A5,',',A10,',',I5.1,',',I5.1) - - 79 FORMAT(A5,',',A10,',',I5.1,',',I5.1,',',I5.1,',',I5.1,',',I5.1,',' & - ,I5.1,',',I5.1,',',I5.1,',',I5.1,',',I5.1,',') - - 80 FORMAT(A5,',',A10,',',F9.3,',',F9.3) - - 81 FORMAT(A5,',',A10,',',F9.3,',',F9.3,',',F9.3,',',F9.3,',',F9.3,',' & - ,F9.3,',',F9.3,',',F9.3,',',F9.3,',',F9.3) - - 82 FORMAT(A5,',',A10,',',F9.3,',',F9.3,',',F9.3,',',F9.3,',',F9.3,',' & - ,F9.3,',',F9.3,',',F9.3,',',F9.3,',',F9.3,',' & - ,F9.3,',',F9.3,',',F9.3,',',F9.3,',',F9.3,',' & - ,F9.3,',',F9.3,',',F9.3,',',F9.3,',',F9.3) - - 83 FORMAT(A5,',',A10,',',F9.3,',',F9.3,',',F9.3,',',F9.3) + 84 FORMAT(A10,',',A10,',') + 85 FORMAT(F12.6,',') write(6,*) 'after formats declared' @@ -419,28 +404,19 @@ program gatime !---------------------------------------------------------------------------- ! COUNT data is arranged: ! for each time step: - ! chan, time, cnt ges rgn 1, cnt ges rgn 2, cnt ges rgn 3, - ! cnt ges rgn 4, cnt ges rgn 5, cnt anl rgn 1, - ! cnt anl rgn 2, cnt anl rgn 3, cnt anl rgn 4, - ! cnt anl rgn 5 + ! chan, time, cnt ges rgn 1-n, cnt anl rgn 1-n ! open(lsatout,file=cnt_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' cnt_out_file opened, status: ', open_status - do cyc=1,ncycle - if( nregion == 1 ) then - write(6,*) 'nregion = 1, writing cnt_out_file' - write(lsatout,78) trim(chan_nums(chan)), trim(times(cyc)), & - int(cnt(1,cyc,chan,1)), int(cnt(2,cyc,chan,1)) - else - write(lsatout,79) trim(chan_nums(chan)), trim(times(cyc)), & - int(cnt(1,cyc,chan,1)), int(cnt(1,cyc,chan,2)), & - int(cnt(1,cyc,chan,3)), int(cnt(1,cyc,chan,4)), & - int(cnt(1,cyc,chan,5)), int(cnt(2,cyc,chan,1)), & - int(cnt(2,cyc,chan,2)), int(cnt(2,cyc,chan,3)), & - int(cnt(2,cyc,chan,4)), int(cnt(2,cyc,chan,5)) - end if + do cyc=1,ncycle + + write(lsatout,84, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,85, Advance = 'No') cnt(1,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') cnt(2,cyc,chan,ii); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -448,64 +424,41 @@ program gatime !---------------------------------------------------------------------------- ! PENALTY data is arranged: ! for each time step: - ! chan, time, pen ges rgn 1, pen ges rgn 2, pen ges rgn 3, - ! pen ges rgn 4, pen ges rgn 5, pen anl rgn 1, - ! pen anl rgn 2, pen anl rgn 3, pen anl rgn 4, - ! pen anl rgn 5 + ! chan, time, pen ges rgn 1-n, pen anl rgn 1-n, ! open(lsatout,file=pen_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' pen_out_file opened, status: ', open_status - do cyc=1,ncycle - if( nregion == 1 ) then - write(lsatout,80) trim(chan_nums(chan)), trim(times(cyc)), & - avg_pen(1,cyc,chan,1), avg_pen(2,cyc,chan,1) - else - write(lsatout,81) trim(chan_nums(chan)), trim(times(cyc)), & - avg_pen(1,cyc,chan,1), avg_pen(1,cyc,chan,2), & - avg_pen(1,cyc,chan,3), avg_pen(1,cyc,chan,4), & - avg_pen(1,cyc,chan,5), avg_pen(2,cyc,chan,1), & - avg_pen(2,cyc,chan,2), avg_pen(2,cyc,chan,3), & - avg_pen(2,cyc,chan,4), avg_pen(2,cyc,chan,5) - end if + do cyc=1,ncycle + + write(lsatout,84, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,85, Advance = 'No') avg_pen(1,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') avg_pen(2,cyc,chan,ii); end do + write(lsatout, *) ! Finish record + end do close(lsatout) !---------------------------------------------------------------------------- ! OM[G|A]NBC data is arranged: ! for each time step: - ! chan, time, avg omgnbc rgn 1, avg omgnbc rgn 2, avg ombnbc rgn 3, - ! avg omgnbc rgn 4, avg omgnbc rgn 5, avg omanbc rgn 1, - ! avg omanbc rgn 2, avg omanbc rgn 3, avg omanbc rgn 4, - ! avg omanbc rgn 5, - ! sdv omgnbc rgn 1, sdv omgnbc rgn 2, sdv omgnbc rgn 3, - ! sdv omgnbc rgn 4, sdv omgnbc rgn 5, sdv omanbc rgn 1, - ! sdv omanbc rgn 2, sdv omanbc rgn 3, sdv omanbc rgn 4, - ! sdv omanbc rgn 5 + ! chan, time, avg omgnbc rgn 1-n, avg omanbc rgn 1-n, + ! sdv omgnbc rgn 1-n, sdv omanbc rgn 1-n ! open(lsatout,file=omgnbc_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' omgnbc_out_file opened, status: ', open_status - do cyc=1,ncycle - if( nregion == 1 ) then - write(lsatout,83) trim(chan_nums(chan)), trim(times(cyc)), & - avg_omgnbc(1,cyc,chan,1), avg_omgnbc(2,cyc,chan,1), & - sdv_omgnbc(1,cyc,chan,1), sdv_omgnbc(2,cyc,chan,1) - else - write(lsatout,82) trim(chan_nums(chan)), trim(times(cyc)), & - avg_omgnbc(1,cyc,chan,1), avg_omgnbc(1,cyc,chan,2), & - avg_omgnbc(1,cyc,chan,3), avg_omgnbc(1,cyc,chan,4), & - avg_omgnbc(1,cyc,chan,5), avg_omgnbc(2,cyc,chan,1), & - avg_omgnbc(2,cyc,chan,2), avg_omgnbc(2,cyc,chan,3), & - avg_omgnbc(2,cyc,chan,4), avg_omgnbc(2,cyc,chan,5), & - sdv_omgnbc(1,cyc,chan,1), sdv_omgnbc(1,cyc,chan,2), & - sdv_omgnbc(1,cyc,chan,3), sdv_omgnbc(1,cyc,chan,4), & - sdv_omgnbc(1,cyc,chan,5), sdv_omgnbc(2,cyc,chan,1), & - sdv_omgnbc(2,cyc,chan,2), sdv_omgnbc(2,cyc,chan,3), & - sdv_omgnbc(2,cyc,chan,4), sdv_omgnbc(2,cyc,chan,5) - end if + do cyc=1,ncycle + + write(lsatout,84, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,85, Advance = 'No') avg_omgnbc(1,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') avg_omgnbc(2,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') sdv_omgnbc(1,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') sdv_omgnbc(2,cyc,chan,ii); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -514,37 +467,22 @@ program gatime ! BIASCR (total correction) data is arranged: ! for each time step: ! chan, time, - ! avg ges biascr rgn 1, avg ges biascr rgn 2, avg ges biascr rgn 3, - ! avg ges biascr rgn 4, avg ges biascr rgn 5, avg anl biascr rgn 1, - ! avg anl biascr rgn 2, avg anl biascr rgn 3, avg anl biascr rgn 4, - ! avg anl biascr rgn 5, - ! sdv ges biascr rgn 1, sdv ges biascr rgn 2, sdv ges biascr rgn 3, - ! sdv ges biascr rgn 4, sdv ges biascr rgn 5, sdv anl biascr rgn 1, - ! sdv anl biascr rgn 2, sdv anl biascr rgn 3, sdv anl biascr rgn 4, - ! sdv anl biascr rgn 5 + ! avg ges biascr rgn 1-n, avg anl biascr rgn 1-n, + ! sdv ges biascr rgn 1-n, sdv anl biascr rgn 1-n ! open(lsatout,file=totcor_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' totcor_out_file opened, status: ', open_status - do cyc=1,ncycle - if( nregion == 1 ) then - write(lsatout,83) trim(chan_nums(chan)), trim(times(cyc)), & - avg_biascr(1,cyc,chan,1), avg_biascr(2,cyc,chan,1), & - sdv_biascr(1,cyc,chan,1), sdv_biascr(2,cyc,chan,1) - else - write(lsatout,82) trim(chan_nums(chan)), trim(times(cyc)), & - avg_biascr(1,cyc,chan,1), avg_biascr(1,cyc,chan,2), & - avg_biascr(1,cyc,chan,3), avg_biascr(1,cyc,chan,4), & - avg_biascr(1,cyc,chan,5), avg_biascr(2,cyc,chan,1), & - avg_biascr(2,cyc,chan,2), avg_biascr(2,cyc,chan,3), & - avg_biascr(2,cyc,chan,4), avg_biascr(2,cyc,chan,5), & - sdv_biascr(1,cyc,chan,1), sdv_biascr(1,cyc,chan,2), & - sdv_biascr(1,cyc,chan,3), sdv_biascr(1,cyc,chan,4), & - sdv_biascr(1,cyc,chan,5), sdv_biascr(2,cyc,chan,1), & - sdv_biascr(2,cyc,chan,2), sdv_biascr(2,cyc,chan,3), & - sdv_biascr(2,cyc,chan,4), sdv_biascr(2,cyc,chan,5) - end if + do cyc=1,ncycle + + write(lsatout,84, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,85, Advance = 'No') avg_biascr(1,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') avg_biascr(2,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') sdv_biascr(1,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') sdv_biascr(2,cyc,chan,ii); end do + write(lsatout, *) ! Finish record + end do close(lsatout) @@ -552,37 +490,22 @@ program gatime !---------------------------------------------------------------------------- ! OM[G|A]BC data is arranged: ! for each time step: - ! chan, time, avg omgbc rgn 1, avg omgbc rgn 2, avg ombbc rgn 3, - ! avg omgbc rgn 4, avg omgbc rgn 5, avg omabc rgn 1, - ! avg omabc rgn 2, avg omabc rgn 3, avg omabc rgn 4, - ! avg omabc rgn 5, - ! sdv omgbc rgn 1, sdv omgbc rgn 2, sdv omgbc rgn 3, - ! sdv omgbc rgn 4, sdv omgbc rgn 5, sdv omabc rgn 1, - ! sdv omabc rgn 2, sdv omabc rgn 3, sdv omabc rgn 4, - ! sdv omabc rgn 5 + ! chan, time, avg omgbc rgn 1-n, avg omabc rgn 1-n, + ! sdv omgbc rgn 1-n, sdv omabc rgn 1-n ! open(lsatout,file=omgbc_out_file,iostat=open_status, & action='write',status='new',form='formatted') write(6,*)' omgbc_out_file opened, status: ', open_status - do cyc=1,ncycle - if( nregion == 1 ) then - write(lsatout,83) trim(chan_nums(chan)), trim(times(cyc)), & - avg_omgbc(1,cyc,chan,1), avg_omgbc(2,cyc,chan,1), & - sdv_omgbc(1,cyc,chan,1), sdv_omgbc(2,cyc,chan,1) - else - write(lsatout,82) trim(chan_nums(chan)), trim(times(cyc)), & - avg_omgbc(1,cyc,chan,1), avg_omgbc(1,cyc,chan,2), & - avg_omgbc(1,cyc,chan,3), avg_omgbc(1,cyc,chan,4), & - avg_omgbc(1,cyc,chan,5), avg_omgbc(2,cyc,chan,1), & - avg_omgbc(2,cyc,chan,2), avg_omgbc(2,cyc,chan,3), & - avg_omgbc(2,cyc,chan,4), avg_omgbc(2,cyc,chan,5), & - sdv_omgbc(1,cyc,chan,1), sdv_omgbc(1,cyc,chan,2), & - sdv_omgbc(1,cyc,chan,3), sdv_omgbc(1,cyc,chan,4), & - sdv_omgbc(1,cyc,chan,5), sdv_omgbc(2,cyc,chan,1), & - sdv_omgbc(2,cyc,chan,2), sdv_omgbc(2,cyc,chan,3), & - sdv_omgbc(2,cyc,chan,4), sdv_omgbc(2,cyc,chan,5) - end if + do cyc=1,ncycle + + write(lsatout,84, Advance = 'No') trim(str_nchanl), trim(times(cyc)) + do ii = 1, nregion; write(lsatout,85, Advance = 'No') avg_omgbc(1,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') avg_omgbc(2,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') sdv_omgbc(1,cyc,chan,ii); end do + do ii = 1, nregion; write(lsatout,85, Advance = 'No') sdv_omgbc(2,cyc,chan,ii); end do + write(lsatout, *) ! Finish record + end do close(lsatout) diff --git a/src/Radiance_Monitor/image_gen/ush/mk_digital_ang.sh b/src/Radiance_Monitor/image_gen/ush/mk_digital_ang.sh index 78b2d838..d891d405 100755 --- a/src/Radiance_Monitor/image_gen/ush/mk_digital_ang.sh +++ b/src/Radiance_Monitor/image_gen/ush/mk_digital_ang.sh @@ -40,7 +40,7 @@ function large_mv () { while read imgf; do if [[ -s $imgf ]]; then - mv -f $imgf ${IMGNDIR}/$1/. + mv -f $imgf ${IMGNDIR}/$1 fi done } @@ -97,6 +97,7 @@ for type in ${SATYPE_LIST}; do if [[ $ntimes -lt $ncycle ]]; then ncycle=$ntimes fi + cyc_per_day=$((24/$CYCLE_INTERVAL)) # number cycles per day scan_start=`cat ./$scaninfo | grep $type | gawk '{print $2}'` scan_stepsz=`cat ./$scaninfo | grep $type | gawk '{print $3}'` @@ -119,6 +120,7 @@ for type in ${SATYPE_LIST}; do scan_stepsz=${scan_stepsz}, scan_nstep=${scan_nstep}, nregion=${nregion}, + cyc_per_day=${cyc_per_day}, / EOF