====== ARCSIX Field Processing ====== * [[code:work:lvisf:2024:field_processing:arcsix2:summary:start|ARCSIX-2 Data Summary]] * [[code:work:lvisf:2024:field_processing:arcsix2:summary:alignment|ARCSIX-2 Alignment Summary]] * Backup Drives "/media/lvis/A6_BACKUP01" * Backup Drives "/media/lvis/A6_BACKUP02" FIXME - Make the ingest log how much space is free on the disk each time it syncs FIXME - TODO: * Change the IMU names to 2024 * Pluck out some low altitude data for Michelle * Low level (1500' & 4000') * Spiral down reasonable ice IDL> print,min(c.bctime) 48708.312 IDL> print,max(c.bctime) 48878.315 * Descent during porpoise with clouds? * East vs West area * Find photo that matches the data that Michelle generated the image for (lat/lon) * Lat 84 42 15 N Lon 65 41 W ( -65.68333333 84.70416667 ) x=[-65.68333333,-65.68333333] & y = [84.70416667,84.70416667] ; zm in 52690 (14:38:10) there abouts and 53350 (14:49:10) * File is: lvis_20240528_143800_00000306.dat * Add final scripts to make symbolic links for 510i, CAM1, P1 * Fix this page: How straight forward is this? (schedule with dinner included) * PDF / Print this so you have a hard copy and a local version * [[code:work:lvisf:2024:field_processing:arcsix1:summary:start|ARCSIX-1 Data Summary]] ([[code:work:lvisf:2024:field_processing:arcsix:summary:start|ARCSIX-1 Data Summary original page]]) ===== Aircraft Data ===== - Backup lvisf drive - Backup camera drive - Backup rtp drive except for 'rtlvis' folder as it is a duplicate - Create proc folder for the new mjd - Create subfolders - Copy the ql2 files from aircraft RTP drive into v2 directory - Generate tiles - ===== Ground GPS ===== * [[code:work:lvisf:2024:field_processing:arcsix:javad_base_script|Javad Basestation Script]] ===== Specifics ===== # required variables export mjd=60461 export lvisf_path=$(find /mnt/archive/lvisf/ -type d -name "${mjd}") ln -s $lvisf_path /mnt/archive/mjd/ ==== Copy ==== === Copy lvisf External Drive === Ingest bash script: {{ :code:work:lvisf:2024:field_processing:arcsix:ingest_lvisf_external.zip |}} - Attach drive to computer (do not let it mount) - Run the following script ingest_lvisf_external === Copy 510 card === ingest_lvisf_card === Copy 610 usb === ingest_lvisf_usb === Copy Camera drive === ingest_lvisf_camera === Copy RTP drive === ingest_lvisf_rtp === Create Symbolic Links === create_archive_links.sh ${mjd} === GPS Ground Data === - Laptop out to shack - run javad_get_bases - Plug ethernet into switch - Copy data from laptop via rsync to raid (on laptop) (open cygwin shell) rsync -vaP ~/gndnav/ lvis@192.168.0.48:/mnt/archive/gndnav/ - Sync archive to external GROUNDNAV ssd rsync -vaP /mnt/archive/gndnav/ /media/lvis/GROUND_NAV/gndnav/ ==== Care Package Creation ==== === MJD Skeleton === create_mjd_care_package.sh ${mjd} ==== Quality ==== === Generate KMZs === == On Ground If RTP Fails == - Create directory structure and symbolically link RTP ql2 files from aircraft # MOUNT proc drive sudo mount /dev/disk/by-label/LVISF_PROC /mnt/proc mkdir -p /mnt/proc/lvisf/${mjd}/v2 cd /mnt/proc/lvisf/${mjd} ln -s /mnt/archive/rtp/mjd/${mjd}/v2/*.ql2 /mnt/proc/lvisf/${mjd}/v2 - Kick off processing time ~/field_tools/local/rtp_local_proc.sh ~/field_tools/local/config_610i_arcsix2024.cfg ${mjd} - Channel mixed processing time ~/field_tools/local/rtp_local_proc.sh ~/field_tools/local/config_610i_arcsix2024_chanmix.cfg ${mjd} If you need to start over cd /mnt/proc/lvisf/${mjd} ~/field_tools/local/clean.sh all If you need to use a different trajectory cd /mnt/proc/lvisf/${mjd}/traj/ find /mnt/archive/usb/APP610I-2/ -type f -newermt 2024-06-06 -exec cat {} \; > /mnt/proc/lvisf/${mjd}/traj/traj${mjd}_610i.bin If you need to run the kmz generation manually inst=LVISF tiff2kml.py height "$inst""$mjd"_Field_Height.kmz "$inst""$mjd"_Field_Height height.png ${HOME}/field_tools/local/LVIS.png coords.txt rm files/* tiff2kml.py elevation "$inst""$mjd"_Field_Elevation.kmz "$inst""$mjd"_Field_Elevation elevation.png ${HOME}/field_tools/local/LVIS.png coords.txt rm files/* tiff2kml.py elevation_block "$inst""$mjd"_Elevation_5m.kmz "$inst""$mjd"_Elevation_5m ${HOME}/field_tools/local/elev_block2.png ${HOME}/field_tools/local/LVIS.png coords.txt rm files/* tiff2kml.py energy "$inst""$mjd"_Field_Energy.kmz "$inst""$mjd"_Field_Energy energy.png ${HOME}/field_tools/local/LVIS.png coords.txt == Copy RTP Results == This is the standard, only do the above if the onboard RTP generation didn't produce results - Create a directory in the **proc** drive mkdir -p /mnt/proc/lvisf/${mjd} - Copy the files from the RTP archive (which is a copy from the plane) (excluding rtlivs just in case it was somehow copied over) rsync -vaP --exclude='rtlvis' /mnt/archive/rtp/mjd/${mjd}/ /mnt/proc/lvisf/${mjd}/ - Copy all **kmz** files to external drive (optional, but a good idea assuming GROUND_NAV is mounted!) (max depth was because there is an older folder in one of the days to avoid copying those) find /mnt/proc/lvisf/ -maxdepth 2 -name "*.kmz" -type f -exec cp -a {} /media/lvis/GROUND_NAV/kmz/ \; === Summary Plots === - Scrape the ql2 files mkdir -p /mnt/proc/summaryplots/${mjd} scrape_ql2 /mnt/proc/lvisf/${mjd}/v2 /mnt/proc/summaryplots/${mjd}/${mjd} -s 17 - Generate the plots cd /mnt/proc/summaryplots/${mjd}/ ~/field_tools/rtp_summaryplots/runall.sh ${mjd} - Copy to external drive - Mount GROUND_NAV - Sync the files to it rsync -vaP /mnt/proc/summaryplots/ /media/lvis/GROUND_NAV/summaryplots/ - Sync back to incoming at GSFC === Mission Meta === ln -s /mnt/archive/mjd/60410_60550_ancillary/mission_meta/coverage/arcsix2024.cfg ~/field_tools/mission_meta/ - Modify the configuration file so that the last mjd is captured - Edit the config nano /mnt/archive/mjd/60410_60550_ancillary/mission_meta/coverage/arcsix2024.cfg - Generate mission meta data cd ~/field_tools/mission_meta time ./make_mission_data_summary.py arcsix2024.cfg - Copy to external drive - Mount GROUND_NAV - Sync the files to it rsync -vaP /mnt/archive/mjd/60410_60550_ancillary/mission_meta/coverage/ /media/lvis/GROUND_NAV/coverage/ Results end up here: /mnt/archive/mjd/60410_60550_ancillary/mission_meta/coverage === External Drive MJD Tar === - Attached external drive and mount with Ubuntu manager - Run this script based on MJD sleep 2h ; create_mjd_external_archive.sh ${mjd} /media/lvis/A6_BACKUP03/ - Copy the camera folder to the external drive. === Copy Applanix Logs from External Camera Backup === find /media/lvis/A6_BACKUP04 -maxdepth 2 -type f -iname '*_log.txt' -exec cp "{}" /media/lvis/GROUND_NAV/applanix_logs/ \; # to make sure you get ALL txt files (Rob and John named them differently) find /mnt/archive/camera/id/ -maxdepth 3 -type f -iname '*.txt' -exec cp "{}" /tmp/applanix_logs/ \; ==== Raw Data Copy to Gaia ==== - Copy card data rsync -vazP /mnt/archive/card/ lvis@gaia.lattice.net:incoming/card/ - Copy usb data rsync -vazP /mnt/archive/usb/ lvis@gaia.lattice.net:incoming/usb/ ==== Verification ==== * Run md5deep on LVIS raw files * Run teqc on GPS raw files * Run applanix time check on raw IMU files * Camera? FIXME ==== Final Raid Inventory ==== * Ensure each drive has a meta and inventory entry * Copy inventory and meta files to three places **drive_meta/year/campaign/** * camera, card, lvisf, nav, rtp, usb * Box, Teams and Wiki # manual creation of inventory time_date=$(date '+%Y%m%d') time_time=$(date '+%H%M%S') inventory_output="${camera_basepath}/inventory/${time_date}_${time_time}_${camera_diskid}_${linkname}_inventory.txt" meta_output="${camera_basepath}/meta/${linkname}.txt" mkdir -p ${camera_basepath}/inventory/ ${camera_basepath}/meta/ meta_path="${camera_basepath}/meta/" drivemeta=$(df -h | grep ${camera_mountpoint}) echo "${time_date} ${time_time} ${camera_diskid} ${drivemeta}" echo "${time_date} ${time_time} ${camera_diskid} ${drivemeta}" >> ${meta_output} echo "find ${camera_mountpoint} -type f -exec ls -l {} \; >> ${inventory_output}" find ${camera_mountpoint} -type f -exec ls -l {} \; >> ${inventory_output} * **md5deep** will follow symbolic links, so run this time sudo find /mnt/archive/ -type f -exec md5deep -z {} \; > ~/md5deep_archive2024_all.txt # 68 hours for 44TB not bad # /dev/sda2 44T 43T 970G 98% /mnt/archive real 4033m5.615s user 1616m48.209s sys 429m25.964s # and make a sorted version of the file cat ~/md5deep_archive2024_all.txt | sort -k 3 > ~/md5deep_archive2024_all_sorted.txt