diff --git a/.gitignore b/.gitignore index 926445422..e8b9d01ba 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ migrate.sh launcher.sh gcs_credentials.json transfers/data/assets* +transfers/data/nma_csv_cache/* transfers/transfer*.log transfer*.log tests/features/*.feature diff --git a/core/lexicon.json b/core/lexicon.json index 543fcb263..480e1d703 100644 --- a/core/lexicon.json +++ b/core/lexicon.json @@ -364,19 +364,24 @@ {"categories": ["organization"], "term": "NMBGMR", "definition": "New Mexico Bureau of Geology and Mineral Resources"}, {"categories": ["organization"], "term": "Bernalillo County", "definition": "Bernalillo County"}, {"categories": ["organization"], "term": "BLM", "definition": "Bureau of Land Management"}, + {"categories": ["organization"], "term": "BLM Taos Office", "definition": "Bureau of Land Management Taos Office"}, {"categories": ["organization"], "term": "SFC", "definition": "Santa Fe County"}, + {"categories": ["organization"], "term": "SFC, Fire Facilities", "definition": "Santa Fe County, Fire Facilities"}, + {"categories": ["organization"], "term": "SFC, Utilities Dept.", "definition": "Santa Fe County, Utilities Dept."}, + {"categories": ["organization"], "term": "SFC, Valle Vista Water Utility, Inc.", "definition": "Santa Fe County, Valle Vista Water Utility, Inc."}, {"categories": ["organization"], "term": "City of Santa Fe", "definition": "City of Santa Fe"}, - {"categories": ["organization"], "term": "NESWCD", "definition": "Northeastern Soil & Water Conservation District"}, + {"categories": ["organization"], "term": "City of Santa Fe WWTP", "definition": "City of Santa Fe WWTP"}, + {"categories": ["organization"], "term": "City of Santa Fe, Municipal Recreation Complex", "definition": "City of Santa Fe, Municipal Recreation Complex"}, + {"categories": ["organization"], "term": "City of Santa Fe, Sangre de Cristo Water Co.", "definition": "City of Santa Fe, Sangre de Cristo Water Co."}, {"categories": ["organization"], "term": "NMISC", "definition": "New Mexico Interstate Stream Commission"}, {"categories": ["organization"], "term": "PVACD", "definition": "Pecos Valley Artesian Conservancy District"}, - {"categories": ["organization"], "term": "TSWCD", "definition": "Taos Soil & Water Conservation District"}, {"categories": ["organization"], "term": "Bayard", "definition": "Bayard Municipal Water"}, - {"categories": ["organization"], "term": "OSWCD", "definition": "Otero Soil & Water Conservation District"}, {"categories": ["organization"], "term": "SNL", "definition": "Sandia National Laboratories"}, {"categories": ["organization"], "term": "USFS", "definition": "United States Forest Service"}, {"categories": ["organization"], "term": "NMT", "definition": "New Mexico Tech"}, {"categories": ["organization"], "term": "NPS", "definition": "National Park Service"}, {"categories": ["organization"], "term": "NMRWA", "definition": "New Mexico Rural Water Association"}, + {"categories": ["organization"], "term": "NMDOT", "definition": "New Mexico Department of Transportation"}, {"categories": ["organization"], "term": "Taos SWCD", "definition": "Taos Soil and Water Conservation District"}, {"categories": ["organization"], "term": "Otero SWCD", "definition": "Otero Soil and Water Conservation District"}, {"categories": ["organization"], "term": "Northeastern SWCD", "definition": "Northeastern Soil and Water Conservation District"}, @@ -417,6 +422,144 @@ {"categories": ["organization"], "term": "San Marcos Association", "definition": "San Marcos Association"}, {"categories": ["organization"], "term": "URS", "definition": "URS"}, {"categories": ["organization"], "term": "Vista del Oro", "definition": "Vista del Oro"}, + {"categories": ["organization"], "term": "Abeyta Engineering, Inc", "definition": "Abeyta Engineering, Inc"}, + {"categories": ["organization"], "term": "Adobe Ranch", "definition": "Adobe Ranch"}, + {"categories": ["organization"], "term": "Agua Fria Community Water Association", "definition": "Agua Fria Community Water Association"}, + {"categories": ["organization"], "term": "Apache Gap Ranch", "definition": "Apache Gap Ranch"}, + {"categories": ["organization"], "term": "Aspendale Mountain Retreat", "definition": "Aspendale Mountain Retreat"}, + {"categories": ["organization"], "term": "Augustin Plains Ranch LLC", "definition": "Augustin Plains Ranch LLC"}, + {"categories": ["organization"], "term": "B & B Cattle Co", "definition": "B & B Cattle Co"}, + {"categories": ["organization"], "term": "Berridge Distributing Company", "definition": "Berridge Distributing Company"}, + {"categories": ["organization"], "term": "Bishop's Lodge", "definition": "Bishop's Lodge"}, + {"categories": ["organization"], "term": "Bonanza Creek Ranch", "definition": "Bonanza Creek Ranch"}, + {"categories": ["organization"], "term": "Bug Scuffle Water Association", "definition": "Bug Scuffle Water Association"}, + {"categories": ["organization"], "term": "Wehinahpay Mountain Camp", "definition": "Wehinahpay Mountain Camp"}, + {"categories": ["organization"], "term": "Campbell Ranch", "definition": "Campbell Ranch"}, + {"categories": ["organization"], "term": "Capitol Ford Santa Fe", "definition": "Capitol Ford Santa Fe"}, + {"categories": ["organization"], "term": "Cemex, Inc", "definition": "Cemex, Inc"}, + {"categories": ["organization"], "term": "Cerro Community Center", "definition": "Cerro Community Center"}, + {"categories": ["organization"], "term": "Santa Fe Jewish Center", "definition": "Santa Fe Jewish Center"}, + {"categories": ["organization"], "term": "Chupadero MDWCA", "definition": "Chupadero MDWCA"}, + {"categories": ["organization"], "term": "Cielo Lumbre HOA", "definition": "Cielo Lumbre HOA"}, + {"categories": ["organization"], "term": "Circle Cross Ranch", "definition": "Circle Cross Ranch"}, + {"categories": ["organization"], "term": "City of Alamogordo", "definition": "City of Alamogordo"}, + {"categories": ["organization"], "term": "City of Portales, Public Works Dept.", "definition": "City of Portales, Public Works Dept."}, + {"categories": ["organization"], "term": "City of Socorro", "definition": "City of Socorro"}, + {"categories": ["organization"], "term": "Commonwealth Conservancy", "definition": "Commonwealth Conservancy"}, + {"categories": ["organization"], "term": "Country Club Garden Mobile Home Park", "definition": "Country Club Garden Mobile Home Park"}, + {"categories": ["organization"], "term": "Crossroads Cattle Co., Ltd", "definition": "Crossroads Cattle Co., Ltd"}, + {"categories": ["organization"], "term": "Double H Ranch", "definition": "Double H Ranch"}, + {"categories": ["organization"], "term": "E.A. Meadows East", "definition": "E.A. Meadows East"}, + {"categories": ["organization"], "term": "El Camino Realty, Inc", "definition": "El Camino Realty, Inc"}, + {"categories": ["organization"], "term": "Eldorado Area Water & Sanitation District", "definition": "Eldorado Area Water & Sanitation District"}, + {"categories": ["organization"], "term": "Bourbon Grill at El Gancho", "definition": "Bourbon Grill at El Gancho"}, + {"categories": ["organization"], "term": "El Prado HOA", "definition": "El Prado HOA"}, + {"categories": ["organization"], "term": "El Rancho de las Golondrinas", "definition": "El Rancho de las Golondrinas"}, + {"categories": ["organization"], "term": "El Rito Canyon MDWCA", "definition": "El Rito Canyon MDWCA"}, + {"categories": ["organization"], "term": "Encantado Enterprises", "definition": "Encantado Enterprises"}, + {"categories": ["organization"], "term": "Estrella Concepts LLC", "definition": "Estrella Concepts LLC"}, + {"categories": ["organization"], "term": "Farr Cattle Company", "definition": "Farr Cattle Company"}, + {"categories": ["organization"], "term": "Sixteen Springs Fire Department", "definition": "Sixteen Springs Fire Department"}, + {"categories": ["organization"], "term": "Fire Water Lodge", "definition": "Fire Water Lodge"}, + {"categories": ["organization"], "term": "Ford County Land & Cattle Company, Inc", "definition": "Ford County Land & Cattle Company, Inc"}, + {"categories": ["organization"], "term": "Friendly Construction, Inc", "definition": "Friendly Construction, Inc"}, + {"categories": ["organization"], "term": "Hacienda Del Cerezo", "definition": "Hacienda Del Cerezo"}, + {"categories": ["organization"], "term": "Hefker Vega Ranch", "definition": "Hefker Vega Ranch"}, + {"categories": ["organization"], "term": "High Nogal Ranch", "definition": "High Nogal Ranch"}, + {"categories": ["organization"], "term": "Holloman Air Force Base", "definition": "Holloman Air Force Base"}, + {"categories": ["organization"], "term": "Hyde Park Estates MDWCA", "definition": "Hyde Park Estates MDWCA"}, + {"categories": ["organization"], "term": "Desert Village RV & Mobile Home Park", "definition": "Desert Village RV & Mobile Home Park"}, + {"categories": ["organization"], "term": "K. Schmitt Trust", "definition": "K. Schmitt Trust"}, + {"categories": ["organization"], "term": "La Cienega MDWCA", "definition": "La Cienega MDWCA"}, + {"categories": ["organization"], "term": "La Vista HOA", "definition": "La Vista HOA"}, + {"categories": ["organization"], "term": "Lamy MDWCA", "definition": "Lamy MDWCA"}, + {"categories": ["organization"], "term": "Land Ventures LLC", "definition": "Land Ventures LLC"}, + {"categories": ["organization"], "term": "Las Lagunitas", "definition": "Las Lagunitas"}, + {"categories": ["organization"], "term": "Las Lagunitas HOA", "definition": "Las Lagunitas HOA"}, + {"categories": ["organization"], "term": "Living World Ministries", "definition": "Living World Ministries"}, + {"categories": ["organization"], "term": "Los Atrevidos, Inc", "definition": "Los Atrevidos, Inc"}, + {"categories": ["organization"], "term": "Los Prados HOA", "definition": "Los Prados HOA"}, + {"categories": ["organization"], "term": "Malaga MDWCA & SWA", "definition": "Malaga MDWCA & SWA"}, + {"categories": ["organization"], "term": "Mangas Outfitters", "definition": "Mangas Outfitters"}, + {"categories": ["organization"], "term": "Medina Gravel Pit", "definition": "Medina Gravel Pit"}, + {"categories": ["organization"], "term": "Mendenhall Trading Co", "definition": "Mendenhall Trading Co"}, + {"categories": ["organization"], "term": "Mesa Verde Ranch", "definition": "Mesa Verde Ranch"}, + {"categories": ["organization"], "term": "NMDGF", "definition": "New Mexico Department of Game and Fish"}, + {"categories": ["organization"], "term": "NMSU College of Agriculture", "definition": "New Mexico State University College of Agriculture"}, + {"categories": ["organization"], "term": "Naiche Development", "definition": "Naiche Development"}, + {"categories": ["organization"], "term": "NRAO", "definition": "National Radio Astronomy Observatory"}, + {"categories": ["organization"], "term": "NMSA", "definition": "New Mexico Spaceport Authority"}, + {"categories": ["organization"], "term": "Nogal MDWCA", "definition": "Nogal MDWCA"}, + {"categories": ["organization"], "term": "O Bar O Ranch", "definition": "O Bar O Ranch"}, + {"categories": ["organization"], "term": "OMI Wastewater Treatment Plant", "definition": "OMI Wastewater Treatment Plant"}, + {"categories": ["organization"], "term": "Old Road Ranch Pardners Ltd", "definition": "Old Road Ranch Pardners Ltd"}, + {"categories": ["organization"], "term": "PNM Service Center", "definition": "PNM Service Center"}, + {"categories": ["organization"], "term": "Peace Tabernacle Church", "definition": "Peace Tabernacle Church"}, + {"categories": ["organization"], "term": "Pecos Trail Inn", "definition": "Pecos Trail Inn"}, + {"categories": ["organization"], "term": "Pelican Spa", "definition": "Pelican Spa"}, + {"categories": ["organization"], "term": "Pistachio Tree Ranch", "definition": "Pistachio Tree Ranch"}, + {"categories": ["organization"], "term": "Rancho Encantado", "definition": "Rancho Encantado"}, + {"categories": ["organization"], "term": "Rancho San Lucas", "definition": "Rancho San Lucas"}, + {"categories": ["organization"], "term": "Rancho San Marcos", "definition": "Rancho San Marcos"}, + {"categories": ["organization"], "term": "Rancho Viejo Partnership", "definition": "Rancho Viejo Partnership"}, + {"categories": ["organization"], "term": "Ranney Ranch", "definition": "Ranney Ranch"}, + {"categories": ["organization"], "term": "Rio En Medio MDWCA", "definition": "Rio En Medio MDWCA"}, + {"categories": ["organization"], "term": "San Acacia MDWCA", "definition": "San Acacia MDWCA"}, + {"categories": ["organization"], "term": "San Juan Residences", "definition": "San Juan Residences"}, + {"categories": ["organization"], "term": "Sangre de Cristo Center", "definition": "Sangre de Cristo Center"}, + {"categories": ["organization"], "term": "Sangre de Cristo Estates", "definition": "Sangre de Cristo Estates"}, + {"categories": ["organization"], "term": "Santa Fe Community College", "definition": "Santa Fe Community College"}, + {"categories": ["organization"], "term": "Santa Fe County, Fire Facilities", "definition": "Santa Fe County, Fire Facilities"}, + {"categories": ["organization"], "term": "Santa Fe County, Utilities Dept.", "definition": "Santa Fe County, Utilities Dept."}, + {"categories": ["organization"], "term": "Sangre de Cristo Center", "definition": "Sangre de Cristo Center"}, + {"categories": ["organization"], "term": "Valle Vista Water Utility", "definition": "Valle Vista Water Utility"}, + {"categories": ["organization"], "term": "Santa Fe County, Valle Vista Water Utility, Inc.", "definition": "Santa Fe County, Valle Vista Water Utility, Inc."}, + {"categories": ["organization"], "term": "Santa Fe Downs", "definition": "Santa Fe Downs"}, + {"categories": ["organization"], "term": "Santa Fe Horse Park", "definition": "Santa Fe Horse Park"}, + {"categories": ["organization"], "term": "Santa Fe Opera", "definition": "Santa Fe Opera"}, + {"categories": ["organization"], "term": "Santa Fe Waldorf School", "definition": "Santa Fe Waldorf School"}, + {"categories": ["organization"], "term": "Shidoni Foundry and Gallery", "definition": "Shidoni Foundry and Gallery"}, + {"categories": ["organization"], "term": "Sierra Grande Lodge", "definition": "Sierra Grande Lodge"}, + {"categories": ["organization"], "term": "Sierra Vista Retirement Community", "definition": "Sierra Vista Retirement Community"}, + {"categories": ["organization"], "term": "Slash Triangle Ranch", "definition": "Slash Triangle Ranch"}, + {"categories": ["organization"], "term": "Stagecoach Motel", "definition": "Stagecoach Motel"}, + {"categories": ["organization"], "term": "State of New Mexico", "definition": "State of New Mexico"}, + {"categories": ["organization"], "term": "Stephenson Ranch", "definition": "Stephenson Ranch"}, + {"categories": ["organization"], "term": "Sun Broadcasting Network", "definition": "Sun Broadcasting Network"}, + {"categories": ["organization"], "term": "Tano Rd LLC", "definition": "Tano Rd LLC"}, + {"categories": ["organization"], "term": "UNM-Taos", "definition": "UNM-Taos"}, + {"categories": ["organization"], "term": "Tee Pee Ranch/Tee Pee Subdivision", "definition": "Tee Pee Ranch/Tee Pee Subdivision"}, + {"categories": ["organization"], "term": "Tent Rock, Inc", "definition": "Tent Rock, Inc"}, + {"categories": ["organization"], "term": "Tesuque MDWCA", "definition": "Tesuque MDWCA"}, + {"categories": ["organization"], "term": "The Great Cloud Zen Center", "definition": "The Great Cloud Zen Center"}, + {"categories": ["organization"], "term": "Three Rivers Ranch", "definition": "Three Rivers Ranch"}, + {"categories": ["organization"], "term": "Timberon Water and Sanitation District", "definition": "Timberon Water and Sanitation District"}, + {"categories": ["organization"], "term": "Town of Magdalena", "definition": "Town of Magdalena"}, + {"categories": ["organization"], "term": "Town of Taos", "definition": "Town of Taos"}, + {"categories": ["organization"], "term": "Town of Taos, National Guard Armory", "definition": "Town of Taos, National Guard Armory"}, + {"categories": ["organization"], "term": "Trinity Ranch", "definition": "Trinity Ranch"}, + {"categories": ["organization"], "term": "Tularosa Basin National Desalination Research Facility", "definition": "Tularosa Basin National Desalination Research Facility"}, + {"categories": ["organization"], "term": "Turquoise Trail Charter School", "definition": "Turquoise Trail Charter School"}, + {"categories": ["organization"], "term": "US Bureau of Indian Affairs, Santa Fe Indian School", "definition": "US Bureau of Indian Affairs, Santa Fe Indian School"}, + {"categories": ["organization"], "term": "USFS, Carson NF, Taos Office", "definition": "USFS, Carson NF, Taos Office"}, + {"categories": ["organization"], "term": "USFS, Cibola NF, Magdalena Ranger District", "definition": "USFS, Cibola NF, Magdalena Ranger District"}, + {"categories": ["organization"], "term": "USFS, Santa Fe NF, Espanola Ranger District", "definition": "USFS, Santa Fe NF, Espanola Ranger District"}, + {"categories": ["organization"], "term": "Ute Mountain Farms", "definition": "Ute Mountain Farms"}, + {"categories": ["organization"], "term": "VA Hospital", "definition": "VA Hospital"}, + {"categories": ["organization"], "term": "Velte", "definition": "Velte"}, + {"categories": ["organization"], "term": "Vereda Serena Property", "definition": "Vereda Serena Property"}, + {"categories": ["organization"], "term": "Village of Corona", "definition": "Village of Corona"}, + {"categories": ["organization"], "term": "Village of Floyd", "definition": "Village of Floyd"}, + {"categories": ["organization"], "term": "Village of Melrose", "definition": "Village of Melrose"}, + {"categories": ["organization"], "term": "Village of Vaughn", "definition": "Village of Vaughn"}, + {"categories": ["organization"], "term": "Vista Land Company", "definition": "Vista Land Company"}, + {"categories": ["organization"], "term": "Vista Redonda MDWCA", "definition": "Vista Redonda MDWCA"}, + {"categories": ["organization"], "term": "Vista de Oro de Placitas Water Users Coop", "definition": "Vista de Oro de Placitas Water Users Coop"}, + {"categories": ["organization"], "term": "Walker Ranch", "definition": "Walker Ranch"}, + {"categories": ["organization"], "term": "Wild & Woolley Trailer Ranch", "definition": "Wild & Woolley Trailer Ranch"}, + {"categories": ["organization"], "term": "Winter Brothers", "definition": "Winter Brothers"}, + {"categories": ["organization"], "term": "Yates Petroleum Corporation", "definition": "Yates Petroleum Corporation"}, + {"categories": ["organization"], "term": "Zamora Accounting Services", "definition": "Zamora Accounting Services"}, {"categories": ["collection_method"], "term": "manual", "definition": "manual sampling"}, {"categories": ["collection_method"], "term": "continuous", "definition": "continuous sampling"}, {"categories": ["role"], "term": "Owner", "definition": "Owner"}, diff --git a/db/contact.py b/db/contact.py index 5a4c0f4bb..a674820ab 100644 --- a/db/contact.py +++ b/db/contact.py @@ -15,7 +15,7 @@ # =============================================================================== from typing import List, TYPE_CHECKING -from sqlalchemy import Integer, ForeignKey, String +from sqlalchemy import Integer, ForeignKey, String, UniqueConstraint from sqlalchemy.ext.associationproxy import association_proxy, AssociationProxy from sqlalchemy.orm import relationship, Mapped, mapped_column from sqlalchemy_utils import TSVectorType @@ -113,6 +113,10 @@ class Contact(Base, AutoBaseMixin, ReleaseMixin): TSVectorType("name", "role", "organization", "nma_pk_owners") ) + __table_args__ = ( + UniqueConstraint("name", "organization", name="uq_contact_name_organization"), + ) + class Phone(Base, AutoBaseMixin, ReleaseMixin): contact_id: Mapped[int] = mapped_column( diff --git a/tests/__init__.py b/tests/__init__.py index e538b996a..c6814a907 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -13,21 +13,21 @@ # See the License for the specific language governing permissions and # limitations under the License. # =============================================================================== -import os - # Load .env file BEFORE importing anything else # Use override=True to override conflicting shell environment variables from dotenv import load_dotenv load_dotenv(override=True) -# Set timezone to UTC for consistent datetime handling in tests -os.environ["TZ"] = "UTC" +# this should not be needed since all Pydantic serializes all datetimes as UTC +# furthermore, tzset is not supported on Windows, so this breaks cross-platform compatibility +# # Set timezone to UTC for consistent datetime handling in tests +# os.environ["TZ"] = "UTC" -# Also set time.tzset() to apply the timezone change -import time +# # Also set time.tzset() to apply the timezone change +# import time -time.tzset() +# time.tzset() from transfers.transfer import erase_and_initalize from fastapi.testclient import TestClient diff --git a/transfers/contact_transfer.py b/transfers/contact_transfer.py index c7e08bb7b..d45b51bff 100644 --- a/transfers/contact_transfer.py +++ b/transfers/contact_transfer.py @@ -14,7 +14,15 @@ # limitations under the License. # =============================================================================== from pydantic import ValidationError - +import json + +from transfers.util import ( + read_csv, + filter_to_valid_point_ids, + replace_nans, + get_transfers_data_path, +) +from transfers.logger import logger from db import Thing, Contact, ThingContactAssociation, Email, Phone, Address from transfers.logger import logger from transfers.util import read_csv, filter_to_valid_point_ids, replace_nans @@ -43,6 +51,10 @@ def extract_owner_role(comment): def transfer_contacts(session): + co_to_org_mapper_path = get_transfers_data_path("owners_organization_mapper.json") + with open(co_to_org_mapper_path, "r") as f: + co_to_org_mapper = json.load(f) + odf = read_csv("OwnersData") odf = odf.drop(["OBJECTID", "GlobalID"], axis=1) ldf = read_csv("OwnerLink") @@ -66,7 +78,7 @@ def transfer_contacts(session): # TODO: use contact_helper.add_contact try: - _add_first_contact(session, row, thing) + _add_first_contact(session, row, thing, co_to_org_mapper) session.commit() session.flush() logger.info(f"added first contact for PointID {row.PointID}") @@ -82,7 +94,7 @@ def transfer_contacts(session): session.rollback() try: - _add_second_contact(session, row, thing) + _add_second_contact(session, row, thing, co_to_org_mapper) session.commit() session.flush() logger.info(f"added second contact for PointID {row.PointID}") @@ -98,7 +110,7 @@ def transfer_contacts(session): session.rollback() -def _add_first_contact(session, row, thing): +def _add_first_contact(session, row, thing, co_to_org_mapper): # TODO: extract role from OwnerComment # role = extract_owner_role(row.OwnerComment) role = "Owner" @@ -106,13 +118,15 @@ def _add_first_contact(session, row, thing): name = _make_name(row.FirstName, row.LastName) + organization = co_to_org_mapper.get(row.Company, row.Company) + contact_data = { "thing_id": thing.id, "release_status": release_status, "name": name, "role": role, "contact_type": "Primary", - "organization": row.Company, + "organization": organization, "nma_pk_owners": row.OwnerKey, "addresses": [], "emails": [], @@ -185,18 +199,20 @@ def _add_first_contact(session, row, thing): contact.addresses.append(address) -def _add_second_contact(session, row, thing): +def _add_second_contact(session, row, thing, co_to_org_mapper): release_status = "private" name = _make_name(row.SecondFirstName, row.SecondLastName) + organization = co_to_org_mapper.get(row.Company, row.Company) + contact_data = { "thing_id": thing.id, "release_status": release_status, "name": name, "role": "Owner", "contact_type": "Secondary", - "organization": row.Company, + "organization": organization, "nma_pk_owners": row.OwnerKey, "addresses": [], "emails": [], diff --git a/transfers/data/measured_by_mapper.json b/transfers/data/measured_by_mapper.json index 1cee53751..a24ac6a22 100644 --- a/transfers/data/measured_by_mapper.json +++ b/transfers/data/measured_by_mapper.json @@ -38,7 +38,7 @@ "Minton.": [null, "Minton Engineers", "Organization"], "MJ Darr.": [null, "MJDarrconsult, Inc", "Organization"], "MJ Darr consultants": [null, "MJDarrconsult, Inc", "Organization"], - "NESWCD": [null, "Northeastern Soil and Water Conservation District", "Organization"], + "NESWCD": [null, "Northeastern SWCD", "Organization"], "OSE, ST": [[null, "NMOSE", "Organization"], ["Stacy Timmons", "NMBGMR", "Hydrogeologist"]], "PVACD person": [null, "PVACD", "Organization"], "Sandia Drillers": [null, "Sandia Well Service, Inc", "Organization"], @@ -267,7 +267,7 @@ "Kilmer/Jenkins": [["Kilmer", "Unknown", "Unknown"], ["David N. Jenkins", "Unknown", "Unknown"]], "KP": ["Kitty Pokorny", "NMBGMR", "Hydrogeologist"], "KP, MF": [["Kitty Pokorny", "NMBGMR", "Hydrogeologist"], ["Marissa Fichera", "NMBGMR", "Hydrogeologist"]], - "KP, MR": [["Kitty Pokorny", "NMBGMR", "Hydrogeologist"], ["MR", "NMBGMR", "Unknown"]], + "KP, MR": [["Kitty Pokorny", "NMBGMR", "Hydrogeologist"], ["Madeline Richards", "NMT", "Graduate Student"]], "KP, MT": [["Kitty Pokorny", "NMBGMR", "Hydrogeologist"], ["MT", "Unknown", "Unknown"]], "KP, ST": [["Kitty Pokorny", "NMBGMR", "Hydrogeologist"], ["Stacy Timmons", "NMBGMR", "Hydrogeologist"]], "KP, TK": [["Kitty Pokorny", "NMBGMR", "Hydrogeologist"], ["Trevor Kludt", "NMBGMR", "Technician"]], @@ -311,7 +311,7 @@ "SC, GR": [["Scott Christenson", "NMBGMR", "Technician"], ["Geoff Rawling", "NMBGMR", "Hydrogeologist"]], "SC, KP": [["Scott Christenson", "NMBGMR", "Technician"], ["Kitty Pokorny", "NMBGMR", "Hydrogeologist"]], "SC, MA": [["Scott Christenson", "NMBGMR", "Technician"], ["MA", "Unknown", "Unknown"]], - "SC, MR": [["Scott Christenson", "NMBGMR", "Technician"], ["MR", "NMBGMR", "Unknown"]], + "SC, MR": [["Scott Christenson", "NMBGMR", "Technician"], ["Madeline Richards", "NMT", "Graduate Student"]], "SC, SMC": [["Scott Christenson", "NMBGMR", "Technician"], ["Sara Chudnoff", "NMBGMR", "Hydrogeologist"]], "SC, ST": [["Scott Christenson", "NMBGMR", "Technician"], ["Stacy Timmons", "NMBGMR", "Hydrogeologist"]], "SC, TK": [["Scott Christenson", "NMBGMR", "Technician"], ["Trevor Kludt", "NMBGMR", "Technician"]], @@ -368,7 +368,7 @@ "TK, ST, CE": [["Trevor Kludt", "NMBGMR", "Technician"], ["Stacy Timmons", "NMBGMR", "Hydrogeologist"], ["Cathy Eisen", "NMBGMR", "Hydrogeologist"]], "TK, ST; CE": [["Trevor Kludt", "NMBGMR", "Technician"], ["Stacy Timmons", "NMBGMR", "Hydrogeologist"], ["Cathy Eisen", "NMBGMR", "Hydrogeologist"]], "TK, JAA": [["Trevor Kludt", "NMBGMR", "Technician"], ["JAA", "NMBGMR", "Unknown"]], - "TK, MR": [["Trevor Kludt", "NMBGMR", "Technician"], ["MR", "Unknown", "Unknown"]], + "TK, MR": [["Trevor Kludt", "NMBGMR", "Technician"], ["Madeline Richards", "NMT", "Graduate Student"]], "TK, TN": [["Trevor Kludt", "NMBGMR", "Technician"], ["Talon Newton", "NMBGMR", "Hydrogeologist"]], "TN": ["Talon Newton", "NMBGMR", "Hydrogeologist"], "TN, LL": [["Talon Newton", "NMBGMR", "Hydrogeologist"], ["Lewis Land", "NMBGMR", "Hydrogeologist"]], diff --git a/transfers/data/owners_organization_mapper.json b/transfers/data/owners_organization_mapper.json new file mode 100644 index 000000000..5ce45a8bf --- /dev/null +++ b/transfers/data/owners_organization_mapper.json @@ -0,0 +1,159 @@ +{ + "Abeyta Engineering": "Abeyta Engineering, Inc", + "Adobe Ranch": "Adobe Ranch", + "Agua Fria Water Assn.": "Agua Fria Community Water Association", + "Apache Gap Ranch": "Apache Gap Ranch", + "Aspendale Baptist Camp": "Aspendale Mountain Retreat", + "Augustin Ranch LLC": "Augustin Plains Ranch LLC", + "B + B Cattle": "B & B Cattle Co", + "BLM Taos Office": "BLM Taos Office", + "Berridge Distributing Company": "Berridge Distributing Company", + "Bishop's Lodge": "Bishop's Lodge", + "Bonanza Creek Ranch": "Bonanza Creek Ranch", + "Bug Scuffle Water Association": "Bug Scuffle Water Association", + "Bureau of Land Management": "BLM", + "Camp Wehinahpay": "Wehinahpay Mountain Camp", + "Campbell Ranch": "Campbell Ranch", + "Capitol Ford Auto Body": "Capitol Ford Santa Fe", + "Cemex Plant": "Cemex, Inc", + "Cerro Community Center": "Cerro Community Center", + "Chabad Jewish Center": "Santa Fe Jewish Center", + "Chupadero MDWCA": "Chupadero MDWCA", + "Cielo Lumbre HOA": "Cielo Lumbre HOA", + "Circle Cross Ranch": "Circle Cross Ranch", + "City of Alamogordo": "City of Alamogordo", + "City of Portales, Public Works Dept.": "City of Portales, Public Works Dept.", + "City of Santa Fe WWTP": "City of Santa Fe WWTP", + "City of Santa Fe, Municipal Recreation Complex": "City of Santa Fe, Municipal Recreation Complex", + "City of Santa Fe, Sangre de Cristo Water Co.": "City of Santa Fe, Sangre de Cristo Water Co.", + "City of Socorro": "City of Socorro", + "Commonwealth Conservancy": "Commonwealth Conservancy", + "Country Club Garden MHP": "Country Club Garden Mobile Home Park", + "Crossroads Cattle Co., Ltd.": "Crossroads Cattle Co., Ltd", + "Double H Ranch": "Double H Ranch", + "E.A. Meadows East": "E.A. Meadows East", + "El Camino Realty": "El Camino Realty, Inc", + "El Dorado Utilities": "Eldorado Area Water & Sanitation District", + "El Gancho Restaurant": "Bourbon Grill at El Gancho", + "El Prado HOA": "El Prado HOA", + "El Rancho de las Golondrinas": "El Rancho de las Golondrinas", + "El Rito MDWCA": "El Rito Canyon MDWCA", + "Eldorado Water and Sanitation District": "Eldorado Area Water & Sanitation District", + "Encantado Enterprises": "Encantado Enterprises", + "Estrella Concepts LLC": "Estrella Concepts LLC", + "Farr Cattle Company (Farr Ranch": "Farr Cattle Company", + "Fire Department": "Sixteen Springs Fire Department", + "Fire Water Lodge": "Fire Water Lodge", + "Ford County Land and Cattle": "Ford County Land & Cattle Company, Inc", + "Friendly Construction, Inc.": "Friendly Construction, Inc", + "Hacienda Del Cerezo, Ltd.": "Hacienda Del Cerezo", + "Hefker Vega Ranch": "Hefker Vega Ranch", + "High Nogal Ranch": "High Nogal Ranch", + "Holloman Air Force Base": "Holloman Air Force Base", + "Hyde Park Estates MDWCA": "Hyde Park Estates MDWCA", + "Hyde Park Estates WUA": "Hyde Park Estates MDWCA", + "Ideal Mobile Home & RV": "Desert Village RV & Mobile Home Park", + "K. Schmitt Trust": "K. Schmitt Trust", + "La Cienega Mutual Domestic Assn.": "La Cienega MDWCA", + "La Vista HOA": "La Vista HOA", + "Lamy MDWUA": "Lamy MDWCA", + "Land Ventures LLC": "Land Ventures LLC", + "Las Lagunitas": "Las Lagunitas", + "Las Lagunitas Homeowners Assn.": "Las Lagunitas HOA", + "Living World Ministries": "Living World Ministries", + "Los Atrevidos, Inc.": "Los Atrevidos, Inc", + "Los Prados HOA": "Los Prados HOA", + "Malaga Water System": "Malaga MDWCA & SWA", + "Mangas Outfitters": "Mangas Outfitters", + "Media Gravel Pit": "Medina Gravel Pit", + "Mendenhall Trading Co.": "Mendenhall Trading Co", + "Mesa Verde Ranch": "Mesa Verde Ranch", + "NESWCD": "Northeastern SWCD", + "TSWCD": "Taos SWCD", + "NM Environment Dept.": "NMED", + "NM Game & Fish Dept.": "NMDGF", + "NM Office of the State Engineer": "NMOSE", + "NM State Highway Dept.": "NMDOT", + "NMSU College of Agriculture": "NMSU College of Agriculture", + "Naiche Development": "Naiche Development", + "National Radio Astronomy Observatory": "NRAO", + "New Mexico Spaceport Authority": "NMSA", + "New Mexico Tech": "NMT", + "Nogal Mutual Domestic Water Consumers Association": "Nogal MDWCA", + "O Bar O Ranch": "O Bar O Ranch", + "OMI Wastewater Treatment Plant": "OMI Wastewater Treatment Plant", + "Old Road Ranch Pardners Ltd.": "Old Road Ranch Pardners Ltd", + "PNM Service Center": "PNM Service Center", + "PNM, Sangre de Cristo": "PNM Service Center", + "Peace Tabernacle Church": "Peace Tabernacle Church", + "Pecos Trail Inn": "Pecos Trail Inn", + "Pelican Spa": "Pelican Spa", + "Pistachio Tree Ranch": "Pistachio Tree Ranch", + "Rancho Encantado": "Rancho Encantado", + "Rancho San Lucas": "Rancho San Lucas", + "Rancho San Marcos": "Rancho San Marcos", + "Rancho Viejo Partnership": "Rancho Viejo Partnership", + "Ranney Ranch": "Ranney Ranch", + "Rio En Medio MDWCA": "Rio En Medio MDWCA", + "San Acacia MDWCA": "San Acacia MDWCA", + "San Juan Residences": "San Juan Residences", + "Sandia National Laboratories": "SNL", + "Sangre de Cristo Center": "Sangre de Cristo Center", + "Sangre de Cristo Estates": "Sangre de Cristo Estates", + "Santa Fe Community College": "Santa Fe Community College", + "Santa Fe County": "SFC", + "Santa Fe County, Fire Facilities": "SFC, Fire Facilities", + "Santa Fe County, Utilities Dept.": "SFC, Utilities Dept.", + "Santa Fe County, Valle Vista Water Utility, Inc.": "Santa Fe County, Valle Vista Water Utility, Inc.", + "Santa Fe Downs": "Santa Fe Downs", + "Santa Fe Horse Park": "Santa Fe Horse Park", + "Santa Fe Municipal Airport": "Santa Fe Municipal Airport", + "Santa Fe Opera": "Santa Fe Opera", + "Santa Fe Waldorf School": "Santa Fe Waldorf School", + "Shidoni Foundry, Inc.": "Shidoni Foundry and Gallery", + "Sierra Grande Lodge": "Sierra Grande Lodge", + "Sierra Vista Retirement Community": "Sierra Vista Retirement Community", + "Slash Triangle Ranch": "Slash Triangle Ranch", + "Stagecoach Motel": "Stagecoach Motel", + "State of New Mexico": "State of New Mexico", + "Stephenson Ranch": "Stephenson Ranch", + "Sun Broadcasting Network": "Sun Broadcasting Network", + "Tano Rd LLC": "Tano Rd LLC", + "Taos Municipal Schools, UNM Taos": "UNM-Taos", + "Tee Pee Ranch/Tee Pee Subdivision": "Tee Pee Ranch/Tee Pee Subdivision", + "Tent Rock, Inc.": "Tent Rock, Inc", + "Tesuque": "Tesuque MDWCA", + "Tesuque MDWCA": "Tesuque MDWCA", + "The Great Cloud Zen Center": "The Great Cloud Zen Center", + "Three Rivers Ranch": "Three Rivers Ranch", + "Timberon Water and Sanitation District": "Timberon Water and Sanitation District", + "Town of Magdalena": "Town of Magdalena", + "Town of Taos": "Town of Taos", + "Town of Taos, National Guard Armory": "Town of Taos, National Guard Armory", + "Trinity Ranch": "Trinity Ranch", + "Tularosa Basin Natl. Desalination Research Facil.": "Tularosa Basin National Desalination Research Facility", + "Turquoise Trail Charter School": "Turquoise Trail Charter School", + "US Bureau of Indian Affairs, Indian School": "US Bureau of Indian Affairs, Santa Fe Indian School", + "USFS, Carson NF, Taos Office": "USFS, Carson NF, Taos Office", + "USFS, Cibola NF, Magdalena Ranger District": "USFS, Cibola NF, Magdalena Ranger District", + "USFS, Santa Fe NF, Espanola Ranger District": "USFS, Santa Fe NF, Espanola Ranger District", + "USFS/Bluewater Ranch": "USFS", + "Ute Mountain Farms": "Ute Mountain Farms", + "VA Hospital": "VA Hospital", + "Valle Vista Water Utility": "Valle Vista Water Utility", + "Velte": "Velte", + "Vereda Serena Property": "Vereda Serena Property", + "Village of Corona": "Village of Corona", + "Village of Floyd": "Village of Floyd", + "Village of Melrose": "Village of Melrose", + "Village of Vaughn": "Village of Vaughn", + "Vista Land Company": "Vista Land Company", + "Vista Redonda MDWCA": "Vista Redonda MDWCA", + "Vista Redondo MDWCA": "Vista Redonda MDWCA", + "Vista de Oro Water Co-op": "Vista de Oro de Placitas Water Users Coop", + "Walker Ranch": "Walker Ranch", + "Wild & Woolley Trailer Ranch": "Wild & Woolley Trailer Ranch", + "Winter Brothers/U.S. Government": "Winter Brothers", + "Yates Petroleum": "Yates Petroleum Corporation", + "Zamora Accounting Services": "Zamora Accounting Services" +} \ No newline at end of file